unit
Unit1;
{$APPTYPE CONSOLE}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WinSock;
type
TForm1 =
class
(TForm)
private
public
end
;
var
Form1: TForm1;
WSAData: TWSAData;
ServerSocket,ClientSocket: TSocket;
ServerAddr, ClientAddr: TSockAddr;
ClientAddrSize,Status,ret:
Integer
;
Buffer1,buffer2:
array
[
0..1024
]
of
Char
;
implementation
{$R *.dfm}
begin
writeln
(
'server'
);
WSAStartup(
$0101
,WSAData);
ServerSocket:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
ServerAddr
.
sin_family:=AF_INET;
ServerAddr
.
sin_port:=htons(
82
);
ServerAddr
.
sin_addr
.
S_addr:=INADDR_ANY;
bind(ServerSocket,ServerAddr,SizeOf(ServerAddr));
listen(ServerSocket,
10
);
ClientAddrSize:=SizeOf(ClientAddr);
ClientSocket:=accept(ServerSocket,@ClientAddr,@ClientAddrSize);
if
ClientSocket <> INVALID_SOCKET
then
begin
while
True
do
begin
ret:=recv(ClientSocket,Buffer2,SizeOf(Buffer2),
0
);
Writeln
(
'Client:'
,Buffer2);
Readln(Buffer1);
ret:=send(ClientSocket,Buffer1,SizeOf(Buffer1),
0
);
end
;
end
;
end
.