关于TcpServer/TcpClient(非indy)的问题(100)

  • 主题发起人 主题发起人 snpl
  • 开始时间 开始时间
S

snpl

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,请教关于TcpServer与TcpClient通讯的问题,多个TcpClient向服务端发送一条命令,服务端收到后处理后,立即返回成功或失败给各自的TcpClient端 请问怎样实现,tcpClient用block tcpserver用threadblock
 
太笼统。
 
干脆自己建立机制啊 收到信息就返回信息自己编写通信的内部协议比如说前面第n位就定义为通信的头。
 
这是最简单的通讯问题呀。这是原来的一个测试例子客户端的:ClientSocket1.Address := EdtIP.Text; ClientSocket1.Port := StrToInt(EdtPort.Text); ClientSocket1.Active := true; Sleep(100); Application.ProcessMessages; Sleep(100); Application.ProcessMessages; ss := '51' + Space('', 16) + Space(Edit4.Text, 15, 1) + Edit1.Text + Edit5.Text + Edit6.Text + Space(Edit2.Text, 8) + Space(Edit7.Text, 4); Data := ''; for i := 1 to StrToInt(Edit7.Text) do begin Data := Data + Space(StringGrid1.Cells[1, i] , 30); Data := Data + Space(StringGrid1.Cells[2, i] , 30); Data := Data + Space(StringGrid1.Cells[3, i] , 15, 1); Data := Data + Space(StringGrid1.Cells[4, i] , 15); Data := Data + Space(StringGrid1.Cells[5, i] , 15, 1); end; i := Length(Data); if i > 0 then begin i := Length(ss + Data); Data := ss + Data; end; Data := Copy('00000', 0, 5 - Length(IntToStr(i))) + IntToStr(i) + Data + #10; Operate := 3; ClientSocket1.Socket.SendText(Data);服务端的是C++的。不发了。
 
后退
顶部