我需要监控在远程计算机上执行的应用程序的活动,所以我选择使用简单的SendLn / RecieveLn方法,但我不确定它是否会在非常大的本地网络内稳定(一台服务器将从大量计算机接收简单的文本。)
procedure Tform1.log(inp:string);
begin
//
richEditText.Lines.Insert(0,inp);
end;
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
var buf:string;
begin
//
log('accept:'+ClientSocket.RemoteHost);
log('accept:'+ClientSocket.Receiveln);
end;
答案 0 :(得分:0)
从来没有保证交付 - 网络问题就是这样。客户端知道服务器已被通知的唯一方法是客户端是否从服务器接收响应。但是,在状态更新的情况下,只要在更新中发送完整状态,您就可以设计系统,这样如果奇数消息丢失,则没有真正的问题,因为下一条消息将最终通过。除非您有永久性网络问题,否则“sneakernet”是您唯一的选择; - )