Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Вниз

IPX через winsock2 


samuray   (2001-12-30 13:48) [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;



samuray   (2001-12-30 16:47) [1]

плиз



samuray   (2002-01-04 12:01) [2]

Неужели нет таких людей, что могли мне помоч???




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.018 c
1-57431           ev                    2002-03-02 21:22  2002.03.18  
BPL


1-57446           softland              2002-03-02 12:38  2002.03.18  
Работа с TShellListView


1-57387           Nikola                2002-02-28 08:50  2002.03.18  
Определить номер входящего звонка


1-57436           arsadig2000           2002-02-28 08:17  2002.03.18  
filter RTF to HTM with hyperlinks


4-57574           scam                  2002-01-12 02:49  2002.03.18  
EndTask из user32.dll