现在有这样一个需求:
1)多个客户端程序启动立即连接到服务端,每隔一段时间发送心跳报文。
2)服务端有数据下发时,主动下发给客户端(数据量小)。我的思路:自动连接到服务服务器时, 服务端把客户端的Socket对象保存到一个Set中,服务端需要发送数据时,
根据客户端ID从Set中找到保存的Socket对象,并发送数据。首先不知道这种方式是否可行?
如果不行,能不能说说什么好的思路。在此谢过。
1)多个客户端程序启动立即连接到服务端,每隔一段时间发送心跳报文。
2)服务端有数据下发时,主动下发给客户端(数据量小)。我的思路:自动连接到服务服务器时, 服务端把客户端的Socket对象保存到一个Set中,服务端需要发送数据时,
根据客户端ID从Set中找到保存的Socket对象,并发送数据。首先不知道这种方式是否可行?
如果不行,能不能说说什么好的思路。在此谢过。
我的客户端不会有那么大的数量级,有可能达到1000-2000之间.我想是操作系统可以支持的范围内。
-----服务端发送数据-------------
Socket socket = (Socket)socketMap.get(clientId);
socket.write("hello".getBytes());
-----客户端接受数据-------------
客户端该如何监听到服务端发来的数据?
客户端程序轮询服务器取数据应该比较合理一些。