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教程。
简而言之,服务器将侦听特定端口。当服务器侦听某个端口时,它将绑定到该端口。一台计算机上只能有一个服务器(或进程)在侦听某个端口。 客户端将连接到计算机并指定要在其上通信的端口。如果服务器正在监听客户端请求的端口,则会发生通信。否则连接无法继续。因此服务器绑定(或侦听)的端口必须与客户端指定的端口相同。
这篇关于客户端和服务器是否需要使用同一端口进行连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:客户端和服务器是否需要使用同一端口进行连接?
基础教程推荐
猜你喜欢
- 在java中使用xpath和selenium解析HTML表格数据 2022-01-01
- Java ECDSAwithSHA256 签名长度不一致 2022-01-01
- 在springboot中如何给mybatis加拦截器 2023-04-29
- JPA惰性列表上的流 2022-01-01
- 控制台应用程序中的 Java 键盘输入解析 2022-01-01
- doFilter()是在servlet的工作完成之前还是之后执行的? 2022-01-01
- Maven:无效的目标版本:10 2022-01-01
- 将 double 转换为 Int,向下舍入 2022-01-01
- 如何在相机中应用自定义滤镜 [Surfaceview 预览]. 2022-01-01
- 将 Windows 证书导入 Java 2022-01-01
