Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-1118215525
Valera
2005-06-08 11:25
2005.07.11
Ошибка с архивом


8-1110874921
MaDis
2005-03-15 11:22
2005.07.11
Векторная графика


5-1089305933
grun
2004-07-08 20:58
2005.07.11
Вертикальное выделение


1-1119458401
Oleg Soev
2005-06-22 20:40
2005.07.11
Drag&Drop на панель задач и в трей.


1-1119472018
TStas
2005-06-23 00:26
2005.07.11
КАк прокрутить RichEdit на выделенную облась





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский