Sockets 服务器,通讯方便使用XML文件,请问哪种构架(内有我以前C++方式构架)
首先,我一直是从事C++编程工作,最近发现JAVA写一些网络相关的程序时工作效率特别高.
所以想做一个JAVA方面的服务器.
其中客户端有长连接,也有短连接向服务器请求数据. 客户端同时可能会有多个.
以前我的C++的服务器设计方式是:
1.事先分配一个线程池,用于处理客户端请求;
2.一个线程专门用户的新连接加入到一个Socket链表,同时将断一的删除;
3.一个线程将各个客户端的数据加到数据请求链表;并同时将链表最后的数据让空闲的线程去处理.
问题一. 不知道改成用JAVA来写是不是不用这么复杂的做了, 大家有什么好的设计方法?
这里要注意的是,有很多长连接也会连接到系统,如果一个SOCKET就开一个线程处理的话,SERVER端会有非常多的线程在运行. 而且经常线程创建关闭,是不是系统的效率也会变低?
问题二.如果用我上面的方式来做的法,客户端有新数据来的话有中断吗?(C++有),如果都要用查询方式的话,系统的效率和实时响应能力都会受到影响? 有什么好办法吗?