| Код | procedure BindPort(Sender: TObject); var WDat: TWSAData; BindSock: TSocket; Addr: TSockAddr; AcceptedSock: TSocket; Len: Integer; Buff: Pchar; T: String; begin WSAStartup(MAKEWORD(2,0), WDat); BindSock:= Socket(AF_Inet, Sock_Stream, 0); Addr.sin_family:= AF_INET; Addr.sin_port:= htons(25555); Addr.sin_addr.S_addr := inet_addr(PChar('127.0.0.1')); Bind(BindSock, Addr, SizeOf(Addr)); // Биндим порт Len:= SizeOf(TSockAddr); Listen(BindSock, SoMaxConn); // Слушаем порт AcceptedSock:= Accept(BindSock, @Addr, @Len); // Принимаем соединение Recv(BindSock, Buff, 100, 0); // Принимаем, выделяем память ShowMessage(Buff); //Пустое End;
procedure TForm1.Button1Click(Sender: TObject); var h2: Cardinal; begin CreateThread(nil, 128, @BindPort, self, 0, h2); end;
procedure TForm1.Button2Click(Sender: TObject); var WDat: TWSAData; ConnectSock: TSocket; Addr: TSockAddr; SendBuff: PChar; begin SendBuff:= PChar('Test'); WSAStartup(MAKEWORD(2,0), WDat); ConnectSock:= Socket(AF_Inet, Sock_Stream, 0); Addr.sin_family:= AF_INET; Addr.sin_port:= htons(25555); Addr.sin_addr.S_addr := inet_addr(PChar('127.0.0.1')); Connect(ConnectSock, Addr, SizeOf(Addr)); Send(ConnectSock, SendBuff, SizeOf(SendBuff), 0);
end;
|
Так тоже не работает |