Форум: "Сети";
Текущий архив: 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.45 MB
Время: 0.004 c