Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизWSA error 10047 ! Найти похожие ветки
← →
greg_us (2005-04-08 16:49) [0]Приветствую мастера!
Нужно передать структуру rem_data серверному приложению по UDP протоколу. Делаю так:
procedure UploadDataUdp(ip: string; data: rem_data);
var sin, from :Tsockaddr;
s:TSocket;
lfrom: integer;
wsa: TWSAData;
begin
WSAStartup(2, wsa);
s := socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
if s = INVALID_SOCKET then begin
MessageBox(0, "Cannot perform "socket"", "Error", MB_OK);
exit;
end;
// fill sockaddr_in structure
sin.sin_family := AF_INET;
sin.sin_port := HtoNs(1238);
sin.sin_addr.S_addr := inet_addr(pChar(ip));
ZeroMemory(@sin.sin_zero, sizeof(sin.sin_zero));
lfrom := sizeof(from);
// send info
if sendto(s, data, sizeof(data), 0, from, lfrom) = SOCKET_ERROR then begin
ShowMessage(inttostr(WSAGetLastError));
closesocket(s);
exit;
end;
closesocket(s);
end;
НО sendto выдает 10047 WSA error, что значит следующее:
Address family not supported by protocol family.
An address incompatible with the requested protocol was used. All sockets are created with an associated address family (that is, AF_INET for Internet Protocols) and a generic protocol type (that is, SOCK_STREAM). This error is returned if an incorrect protocol is explicitly requested in the socket call, or if an address of the wrong family is used for a socket, for example, in sendto.
Помогите разобраться, как решить данную проблему плтз!!
Заранее благодарен!
П.С. На VC++6 аналогичный код работает прекрасно...
← →
greg_us (2005-04-08 22:19) [1]Мастера... у Вас сегодня выходной? :) Нужна помощь ASAP!!!!
← →
Verg © (2005-04-09 06:51) [2]
> greg_us (08.04.05 22:19) [1]
> Мастера... у Вас сегодня выходной?
У нас всегда выходной. Мы только по выхдным тут и ошиваемся.
> WSAStartup(2, wsa);
WSAStartup($202, wsa); и это надо делать один раз при старте приложения.
это раз.
Кто такой from? Почему from?
Ты же вызываешь sendto, т.е. "отправить тому-то". Но вместо этого, ты старательно заполняешь структуру sin, а потом в sendto указываешь from. Это с какого веселья?
> П.С. На VC++6 аналогичный код работает прекрасно...
P.S. Не надо сказок, ладно?
← →
greg_us (2005-04-09 12:12) [3]2 Verg
Спасибо мэн. Действительно я почему-то вместо sin зачем-то from заюзал :(. А когда переделывал на СИ, то все правильно сделал...
В общем респект ;)
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.04 c