Do client and server need to use same port to connect?(客户端和服务器是否需要使用同一端口进行连接?)
本文介绍了客户端和服务器是否需要使用同一端口进行连接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个使用Java的服务器-客户端程序,我试图用一个端口创建一个ServerSocket
,而用不同的端口创建一个客户端Socket
,但它们无法相互连接。客户端引发ConnectException
。当我将客户端上的套接字更改为与我用于ServerSocket的套接字相同时,它们可以正常工作。
我从此线程Java Networking: Explain InputStream and OutputStream in Socket的asser了解到,如果计算机使用端口创建套接字,则该套接字将绑定到该计算机,那么为什么客户端和服务器需要使用相同的端口来相互连接?
另外,两个应用程序不能使用一台计算机上的同一端口,所以当两个具有相同端口的不同服务器和一台计算机需要通过两个不同的应用程序连接到这两个服务器时,会发生什么情况?
tcp
您需要对推荐答案通信有一些基本的了解。只需谷歌TCP教程。
简而言之,服务器将侦听特定端口。当服务器侦听某个端口时,它将绑定到该端口。一台计算机上只能有一个服务器(或进程)在侦听某个端口。 客户端将连接到计算机并指定要在其上通信的端口。如果服务器正在监听客户端请求的端口,则会发生通信。否则连接无法继续。因此服务器绑定(或侦听)的端口必须与客户端指定的端口相同。
这篇关于客户端和服务器是否需要使用同一端口进行连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:客户端和服务器是否需要使用同一端口进行连接?


基础教程推荐
猜你喜欢
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01