【发布时间】:2013-07-17 19:30:07
【问题描述】:
在服务器端,我们使用
Socket server = serverSocket.accept();
创建一个套接字。套接字创建后,我们可以创建一个新线程来处理该套接字的输入/输出流。因此,如果有进一步的连接请求进来,我们可以回到同一个端口监听并创建新的套接字。由于我们已经在特定端口创建了 ServerSocket,当然我们不能在该端口再次创建另一个 ServerSocket。
所以根据我的理解,我可以得出结论,在服务器端,我们可以在一个端口下创建多个套接字吗? (类似于网络服务器所做的)
其实我的问题是,在客户端,当我们创建一个套接字时,我们可以指定我们想要使用的本地端口。在我们在该本地端口成功创建客户端套接字后,我们可以将该端口重用于其他客户端套接字吗?该端口是否永久绑定到套接字,直到套接字关闭(或端口关闭)?既然客户端没有“监听”的概念,我们能不能和ServerSocket一样做(参考ServerSocket可以在一个端口下创建多个socket)?
我很困惑客户端如何处理端口和套接字,因为我正在将 ServerSocket 与客户端套接字进行比较。
请指出正确的方向,我知道我的想法在某种程度上是错误的。非常感谢。
【问题讨论】:
标签: java sockets tcp port serversocket