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教程。
简而言之,服务器将侦听特定端口。当服务器侦听某个端口时,它将绑定到该端口。一台计算机上只能有一个服务器(或进程)在侦听某个端口。 客户端将连接到计算机并指定要在其上通信的端口。如果服务器正在监听客户端请求的端口,则会发生通信。否则连接无法继续。因此服务器绑定(或侦听)的端口必须与客户端指定的端口相同。
这篇关于客户端和服务器是否需要使用同一端口进行连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:客户端和服务器是否需要使用同一端口进行连接?


基础教程推荐
猜你喜欢
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01