一个服务器软件与n个(1000个以上)客户端软件网络通信的问题
一个服务器软件与多个客户端软件通信,如果是几十个还好,我知道怎么处理,多开几个线程而已。
我想问的是
1.目前项目要求是可能有超过1000个客户端同时与服务器软件进行网络通信,难道我服务器软件要开1000个线程来分别与这1000个客户端进行通信?
2.这1000个客户端软件都是分布在全国各地的远程设备上的软件,都需要向我的服务器软件进行数据传输,我知道要定好协议,关键是会不会出现数据交叉的情况,比如:1号机数据发到1/3,突然由于网络问题停了一会儿,而此时2号机恰巧后2/3的数据来了,然后这两条断续信息组合起来成了完整的信息,会不会有这种情况?如何避免?(偶尔还好可以通过协议滤除,总是这样就头疼了,当然一个客户端一个线程的话是不会出现这种情况)