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.