新手提问!局域网内服务器端、多个客户端的数据通讯问题!---超急!
服务器端用TServerSocket,5个客户端(01~05)分别用TClientSocket,采用TCP/IP协议,通讯数据量小于1kb/s,问题如下:
1、服务器端如何判断客户端异常断开?
---------------------
2、服务器端如何将数据发送到指定的客户端??如某条数据只想发送至客户端01,但该客户端与服务器端的连接并不一定是connections[0],该如何进行识别?
我拟采用的办法,方法一、客户端指定IP地址?或者方法二、服务器端对所有连接发送带标志位的数据,客户端根据接收的数据判定后再响应?是否还有更简便的方法??请指点!
[解决办法]
1,用捕获异常
IdTCPClient1-> Host=Edit1-> Text;
IdTCPClient1-> Port=Edit2-> Text.ToInt();
try
{
IdTCPClient1-> Connect(10000);
}
catch(EIdException* e)
{
ShowMessage( "无法连接到远程服务器 ");
}
二, 发送给客户很简单啊
只要 IdTCPClient1-> WriteLn(Edit4-> Text);// 如果你要连接N 个 必须要写多线程 或开句柄
最简单的方法 就是群发。
[解决办法]
1检查sockethandle 或是 disconnect 事件。
2用方法1服务器压力小,网络占用也少。
[解决办法]
同意,如果Client断开一定会引起disconnect,只需要响应就可以了