网上查到的例子都是一个serverSocket
如果我想在服务端用两个serverSocket(也就是两个port),程序应该怎样写?
这样做的目的是,有时候一个发送信息太多太大,占用时间较长的连接会影响其他客户端的请求, 用两个serverSocket,也就是用两个端口可以分散资源
如果我想在服务端用两个serverSocket(也就是两个port),程序应该怎样写?
这样做的目的是,有时候一个发送信息太多太大,占用时间较长的连接会影响其他客户端的请求, 用两个serverSocket,也就是用两个端口可以分散资源
1)通常没有必要。理由:ServerSocket只负责TCP连接,真正有数据通信与它无关。因为每当一个客户连接起来,都会创建一个线程具体负责与该客户的通信。因此:“占用时间较长的连接会影响其他客户端的请求,”实际上是不成立的。
2)实在要做,也很简单,,即:程序一启动,即创建两个线程,每一个线程都相继创建ServerSocket并等待客户连接,每当一个客户连接起来,都会创建一个线程具体负责与该客户的通信。
3)若你不想使用线程,则可使用ServerSocketChannel与ServerChannel来完成。以下仅供你参考