program exe
;
{$apptype console}
uses
Windows, Winsock, SysUtils ;
var
FSocket,CSocket:TSocket ;
buf:array[0..255]of char ;
wsaData:TWSADATA ;
Server:TSockAddrIn ;
err,len,id:integer ;
const
CRLF=#13#10 ;
begin
err := WSAStartup(MAKEWORD(2,0),WSAData );
if err=-1 then
begin
writeln('WSAStartup初始化失败!' );
exit ;
end ;
FSocket := socket(AF_INET, SOCK_STREAM,0 );
if FSocket=SOCKET_ERROR then
begin
writeln('socket创建套接口失败!' );
WSACleanup ();
exit ;
end ;
Server.sin_family := AF_INET ;
Server.sin_addr.s_addr:=INADDR_ANY; //host
Server.sin_port:=htons(40400); //port
bind(FSocket,server,sizeof(server ));
len := sizeof(server );
getsockname(FSocket,server,len );
if listen(FSocket,5)<>0 then
begin
writeln('bind绑定错误!' );
Closesocket(FSocket );
WSACleanup ();
exit ;
end; CSocket:=accept(FSocket,@server,@len );
if CSocket=-1 then
begin
writeln('CSocket连接错误!' );
Closesocket(FSocket );
WSACleanup ();
exit ;
end ;
id := connect(CSocket,Server, SizeOf(Server ));
if id <>0 then
begin
strcopy(buf ,
char($00)+char($00)+char($00)+char($00)+char($00)+char($00)+char($00 )+
char($00)+char($01)+char($00)+char($CA)+char($67)+char($43)+char($B4 )+
char($7F)+char($00)+char($00)+char($01)+char($D0)+char($9D)+char($DA )+
char($10)+char($82)+char($02)+char($F4)+char($3F)+char($02)+char($43 )+
char($FF)+char($67)+char($D7)+char($D1)+char($12)+char($33)+char($6A )+
char($A3)+char($D8)+char($C6)+char($24)+char($D8)+char($50)+char($19 )+
char($8B)+char($26)+char($00)+char($00)+char($00)+char($00)+char($77 )+
char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B )+
char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D )+
char($00)+char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F )+
char($63)+char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63 )+
char($6F)+char($6D)+char($00)+char($77)+char($77)+char($77)+char($2E )+
char($59)+char($6F)+char($63)+char($6B)+char($73)+char($6B)+char($59 )+
char($2E)+char($63)+char($6F)+char($6D)+char($00)+char($77)+char($77 )+
char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B)+char($73 )+
char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D)+char($00 )+
char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63 )+
char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F )+
char($6D)+char($00 )
);
send(CSocket,buf,strlen(buf),0 );
end ;
// 数据处理
strcopy(buf ,
char($00)+char($00)+char($00)+char($00)+char($00)+char($00)+char($00 )+
char($00)+char($01)+char($00)+char($CA)+char($67)+char($43)+char($B4 )+
char($7F)+char($00)+char($00)+char($01)+char($D0)+char($9D)+char($DA )+
char($10)+char($82)+char($02)+char($F4)+char($3F)+char($02)+char($43 )+
char($FF)+char($67)+char($D7)+char($D1)+char($12)+char($33)+char($6A )+
char($A3)+char($D8)+char($C6)+char($24)+char($D8)+char($50)+char($19 )+
char($8B)+char($26)+char($00)+char($00)+char($00)+char($00)+char($77 )+
char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B )+
char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D )+
char($00)+char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F )+
char($63)+char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63 )+
char($6F)+char($6D)+char($00)+char($77)+char($77)+char($77)+char($2E )+
char($59)+char($6F)+char($63)+char($6B)+char($73)+char($6B)+char($59 )+
char($2E)+char($63)+char($6F)+char($6D)+char($00)+char($77)+char($77 )+
char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B)+char($73 )+
char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D)+char($00 )+
char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63 )+
char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F )+
char($6D)+char($00 )
);
send(CSocket,buf,strlen(buf),0 );
repeat
recv(CSocket,buf,strlen(buf),0 );
send(CSocket,buf,strlen(buf),0 );
until pos('Q',buf)>0 ;
Closesocket(FSocket );
WSACleanup ();
end.
{$apptype console}
uses
Windows, Winsock, SysUtils ;
var
FSocket,CSocket:TSocket ;
buf:array[0..255]of char ;
wsaData:TWSADATA ;
Server:TSockAddrIn ;
err,len,id:integer ;
const
CRLF=#13#10 ;
begin
err := WSAStartup(MAKEWORD(2,0),WSAData );
if err=-1 then
begin
writeln('WSAStartup初始化失败!' );
exit ;
end ;
FSocket := socket(AF_INET, SOCK_STREAM,0 );
if FSocket=SOCKET_ERROR then
begin
writeln('socket创建套接口失败!' );
WSACleanup ();
exit ;
end ;
Server.sin_family := AF_INET ;
Server.sin_addr.s_addr:=INADDR_ANY; //host
Server.sin_port:=htons(40400); //port
bind(FSocket,server,sizeof(server ));
len := sizeof(server );
getsockname(FSocket,server,len );
if listen(FSocket,5)<>0 then
begin
writeln('bind绑定错误!' );
Closesocket(FSocket );
WSACleanup ();
exit ;
end; CSocket:=accept(FSocket,@server,@len );
if CSocket=-1 then
begin
writeln('CSocket连接错误!' );
Closesocket(FSocket );
WSACleanup ();
exit ;
end ;
id := connect(CSocket,Server, SizeOf(Server ));
if id <>0 then
begin
strcopy(buf ,
char($00)+char($00)+char($00)+char($00)+char($00)+char($00)+char($00 )+
char($00)+char($01)+char($00)+char($CA)+char($67)+char($43)+char($B4 )+
char($7F)+char($00)+char($00)+char($01)+char($D0)+char($9D)+char($DA )+
char($10)+char($82)+char($02)+char($F4)+char($3F)+char($02)+char($43 )+
char($FF)+char($67)+char($D7)+char($D1)+char($12)+char($33)+char($6A )+
char($A3)+char($D8)+char($C6)+char($24)+char($D8)+char($50)+char($19 )+
char($8B)+char($26)+char($00)+char($00)+char($00)+char($00)+char($77 )+
char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B )+
char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D )+
char($00)+char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F )+
char($63)+char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63 )+
char($6F)+char($6D)+char($00)+char($77)+char($77)+char($77)+char($2E )+
char($59)+char($6F)+char($63)+char($6B)+char($73)+char($6B)+char($59 )+
char($2E)+char($63)+char($6F)+char($6D)+char($00)+char($77)+char($77 )+
char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B)+char($73 )+
char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D)+char($00 )+
char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63 )+
char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F )+
char($6D)+char($00 )
);
send(CSocket,buf,strlen(buf),0 );
end ;
// 数据处理
strcopy(buf ,
char($00)+char($00)+char($00)+char($00)+char($00)+char($00)+char($00 )+
char($00)+char($01)+char($00)+char($CA)+char($67)+char($43)+char($B4 )+
char($7F)+char($00)+char($00)+char($01)+char($D0)+char($9D)+char($DA )+
char($10)+char($82)+char($02)+char($F4)+char($3F)+char($02)+char($43 )+
char($FF)+char($67)+char($D7)+char($D1)+char($12)+char($33)+char($6A )+
char($A3)+char($D8)+char($C6)+char($24)+char($D8)+char($50)+char($19 )+
char($8B)+char($26)+char($00)+char($00)+char($00)+char($00)+char($77 )+
char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B )+
char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D )+
char($00)+char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F )+
char($63)+char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63 )+
char($6F)+char($6D)+char($00)+char($77)+char($77)+char($77)+char($2E )+
char($59)+char($6F)+char($63)+char($6B)+char($73)+char($6B)+char($59 )+
char($2E)+char($63)+char($6F)+char($6D)+char($00)+char($77)+char($77 )+
char($77)+char($2E)+char($59)+char($6F)+char($63)+char($6B)+char($73 )+
char($6B)+char($59)+char($2E)+char($63)+char($6F)+char($6D)+char($00 )+
char($77)+char($77)+char($77)+char($2E)+char($59)+char($6F)+char($63 )+
char($6B)+char($73)+char($6B)+char($59)+char($2E)+char($63)+char($6F )+
char($6D)+char($00 )
);
send(CSocket,buf,strlen(buf),0 );
repeat
recv(CSocket,buf,strlen(buf),0 );
send(CSocket,buf,strlen(buf),0 );
until pos('Q',buf)>0 ;
Closesocket(FSocket );
WSACleanup ();
end.