//发送
ServerSocket.Socket.Connections[i].SendBuf(D, SizeOf(D));
//接收
ClientSocket.Socket.ReceiveBuf(D, clntsckt.Socket.ReceiveLength);
//正常
现在我想添加一个发送和接收,下面的代码会传到D里面。
//有问题发送
SendBuf(B, SizeOf(B));
//有问题接收
ReceiveBuf(B, clntsckt.Socket.ReceiveLength);
却是大神,只不过内容里,没有关于c端处理多个data的例程。
追答在S端的事件中有C端的ID和IP等信息,自己取出来管理即可。
追问恩,发送的时候是根据Handle
就是现在的问题是Socket.Connections[i].SendBuf(D, SizeOf(D));、、一直在传送,c端一直在接受。但是c端请求另一组数据SendBuf(B, SizeOf(B));接收并处理
S端的接收是事件触发的,S端的发送也应在接收事件处理完毕的最后进行;C端的发送是主动的,分包发送则是在S端反馈一组接收完毕之后在C端的接收事件中主动发送下一个包。你需要调整接收和发送的动作时序,把C端作为一个批处理的发起者,通过单工的方式交替C和S的动作,维持到一个批处理执行完毕。