Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

UDP + WinXP%(   Найти похожие ветки 

 
anmak ©   (2002-10-30 17:21) [0]

Ктонибудь отсылал бродкастовые UDP пакеты

код ниже под win2k пашет под WinXP нет

пашет только под 2к


------------------
............


function send(IP:PChar; APort:integer; msg:PChar):integer; stdcall;
var
addr:sockaddr_in;
SockOpt:boolean;
tmp:string;
buff:array [1..4096] of char;
sock:TSocket;
rez,i:integer;
begin
SockOpt:=true;
result:=0;
try
tmp:=msg;
for i:=1 to length(tmp) do
buff[i]:=tmp[i];
buff[i]:=#0;
// move(tmp,buff,length(tmp));
sock:=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if ip="255.255.255.255" then
begin
addr.sin_addr.s_addr := INADDR_BROADCAST;
rez:=setsockopt(sock,SOL_SOCKET,SO_BROADCAST, PChar(@SockOpt),
sizeof(SockOpt));
if rez=-1 then
begin
rez:= WSAGetLastError;
// showmessage(inttostr(rez));
end;
end
else
addr.sin_addr.s_addr := inet_addr(IP);
addr.sin_family:=PF_INET;
addr.sin_port:=htons(aport);
rez:=sendto(sock, buff,sizeof(buff), 0, addr,sizeof(addr));
if rez=-1 then begin end;
winsock.closesocket(sock);
except
result:=-1;
end;
{ result:=0;
try
TSockSend.Create(msg,ip,aport);
except
result:=-1;
end;
}

end;

.........

initialization

WSAStartup($0101, WSAData);

finalization

WSACleanup;


 
ВидеоЛорд   (2002-11-01 22:06) [1]

Я использую Indy. Под XP все шлется прекрасно.



Страницы: 1 вся ветка

Текущий архив: 2002.12.30;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.025 c
14-99329
KGB
2002-12-10 11:22
2002.12.30
Набор компонентов ABC


6-99234
alexnaro
2002-10-31 13:21
2002.12.30
Как проверить существование e-mail адреса?


3-99036
Z-man7777
2002-12-09 12:30
2002.12.30
Как реализовать ведение лога ошибок?


1-99132
Маленький
2002-12-16 21:55
2002.12.30
OleVariant, что внутри?


6-99226
Vadimka
2002-10-31 23:02
2002.12.30
Перехват из сети www-адреса, запрашиваемых пользователями