Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];

Вниз

HEEELPP!!! плиз Sockets   Найти похожие ветки 

 
samuray   (2002-01-07 12:22) [0]

Возникла проблема при написании сервера

type
PSockAddrIPX = ^TSockAddrIPX;
TSockAddrIPX = packed record
sa_family : short;
sa_netnum : array [0..3] of Byte;
sa_nodenum : array [0..5] of Byte;
sa_socket : u_short;
end;

var
SrvSocket : TSocket;
SrvAddr, BindAddr : TSockAddrIPX;
LocalSocketNumber : u_short = $5679;
SrvEvent : WSAEVENT;

function InitServer : Boolean;
var
WSData : TWSAData;
I : Integer;
begin
Result := False;
if WSAStartup(WINSOCK_VERSION, WSData) <> 0 then
Exit;
SrvSocket := socket(PF_IPX, SOCK_DGRAM, NSPROTO_IPX);
if SrvSocket = INVALID_SOCKET then Exit;

SrvAddr.sa_family := PF_IPX;
FillChar(SrvAddr.sa_netnum,4,0);
FillChar(SrvAddr.sa_nodenum,6,0);
SrvAddr.sa_socket := Swap(SrvSocket{LocalSocketNumber});

if bind( SrvSocket,
PSockAddr(@SrvAddr),
SizeOf(TSockAddrIPX) )= SOCKET_ERROR then Exit;

I := sizeof(TSockAddrIPX);
if getsockname(SrvSocket, PSockAddr(@BindAddr), I) =
SOCKET_ERROR then Exit;

SrvEvent := WSACreateEvent;
if SrvEvent = WSA_INVALID_EVENT then Exit;

if WSAEventSelect( SrvSocket,
SrvEvent,
FD_READ) <> 0 then Exit; //вот сдесь функция возвращяет FALSE ПОЧЕМУ? если использую протокол ip всё нормально!

Result := True;
end;


 
Samuray1   (2002-02-19 11:04) [1]

Помагите!!!!!


 
Digitman   (2002-02-19 13:04) [2]

Чтобы узнать это ПОЧЕМУ, сразу же за вызовом отказавшей WSA-функции вызывай WSAGetLastError() для получения расширенной инф-ции о причинах отказа



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

Форум: "Сети";
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.003 c
1-2573
masik
2002-04-17 13:00
2002.05.02
MS DTHMLEdit OCX глючит или нет..?


7-2687
Hex
2002-01-30 18:42
2002.05.02
USB


1-2522
crush
2002-04-21 10:47
2002.05.02
Компоненты в стиле Windows XP


14-2676
Hurin
2002-03-27 12:24
2002.05.02
Подлая DLL


3-2471
Demon Ltd
2002-04-11 01:07
2002.05.02
Стаж в базе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский