【发布时间】:2016-10-08 06:03:38
【问题描述】:
我有一个使用 java 的服务器-客户端程序,我尝试创建一个带有端口的 ServerSocket 和带有不同端口的客户端 Socket,它们无法相互连接。客户端抛出ConnectException。当我将 Client 上的套接字更改为与我用于 ServerSocket 的相同时,它们起作用了。
据我从该线程Java Networking: Explain InputStream and OutputStream in Socket 的回答中了解到,如果一台机器创建一个带有端口的套接字,那么该套接字就会绑定到该机器,那么为什么客户端和服务器需要使用相同的端口来相互连接呢?
另外,两个应用程序不能在一台机器上使用相同的端口,那么当两个具有相同端口的不同服务器和一台机器需要通过两个不同的应用程序连接到它们时会发生什么?
【问题讨论】: