![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема c UDP [D7, WinXP]
petro © (2004-04-12 17:31:00)Что тут может быть не правильно:
//fill to addr
Addr.sin_family:=AF_INET;
Addr.sin_port:=htons(8167);
Addr.sin_addr.S_addr:=inet_addr('10.1.1.3');
// create socket and connect
S:=socket(AF_INET,SOCK_STREAM,IPPROTO_UDP);
if connect(S,Addr,sizeof(Addr))=0 then writeln('Open Port 8167.') else
writeln('Error ',WSAGetLastError);
// close
WSACleanup;
Verg (2004-04-12 18:39:00) [1]Тогда см.
> Digitman © (12.04.04 17:35) [1]
Но connect тебе не даст реальной картины.
Connect для UDP нужен всего лишь для того, чтобы потом не писать постоянно sendto, а можно было бы просто send.
Для того, чтобы проверить обслуживает ли кто-нибудь такой-то UDP порт на заданном хосте, кроме всего чего ты уже и так наметил сделать (с учетом попрваки на SOCK_DGRAM), нужно отправить "пробную" датаграмму.
Почитай здесь, может понятнее будет:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1080241768&n=4
petro (2004-04-12 18:29:00) [2]UDP
Verg (2004-04-12 18:13:00) [3]Какой порт-то? UDP или TCP?
petro (2004-04-12 18:05:00) [4]а что добавить???
мне нужно просто узнать открыт порт или нет.
Polevi (2004-04-12 17:48:00) [5]и connect выбросить
Digitman (2004-04-12 17:35:00) [6]SOCK_DGRAM !