当前位置: 首页 > 知识库问答 >
问题:

使用不同端口号的客户端和服务器连接?

羊毅庵
2023-03-14

我使用python中的套接字设置了一个客户机和一个服务器,客户机向服务器发送数据,服务器执行操作,然后向客户机返回一些数据。最初,客户端和服务器将具有相同的端口号(9999)。我目前的问题是,我必须将服务器端口更改为19999,当我试图运行时,它无法工作。客户端能够发送数据,如果它的端口也更改为19999,但它不工作,如果客户端是9999和服务器是19999,这是我需要的。新的网络系统,所以将感谢任何有用的链接到信息或建议。

客户端(左)和服务器(右)的照片

共有1个答案

漆雕安晏
2023-03-14

通常,客户端将使用一个临时端口作为其本地端口,并连接到服务器端口。您的客户端代码正试图连接到端口9999,它不是服务器端口,这解释了它无法工作的原因。您需要连接到端口19999,因为这是服务器正在侦听的端口。

使用未绑定的套接字会导致客户端在建立连接时为其本地地址选择一个临时端口。如果希望客户端绑定到特定端口,请在调用connect之前使用bind

# bind locally to 9999
local_addr = (host, 9999)
s.bind(local_addr)

# connect to 19999
remote_addr = (host, 19999)
s.connect(remote_addr)
 类似资料:
  • 嗨,我的问题很简单: 我尝试通过TCP连接建立UDP连接(因为多个客户端通过多个通道连接到服务器,我想通过主TCP连接识别相同的客户端) 我通过在客户机上创建TCP和UDP套接字来实现这一点,并通过TCP将操作系统随机分配的本地UDP端口传输到服务器。(在Windows上,我通过getsocketname()获得sendto()之后的端口)。在服务器上,我使用这个端口将UDP数据包发送到这个客户机

  • 另外,两个应用程序不能在一台机器上使用相同的端口,那么当两个不同的服务器具有相同的端口,而一台机器需要通过两个不同的应用程序连接到这两个服务器时会发生什么呢?

  • 我有一个客户端服务器的情况,每一方都在测量时间,但似乎有一个问题,即测量的时间不匹配。长话短说,这个想法是有一个倒计时,之后程序需要做事情。我在服务器端测量这个。但是,倒计时需要显示,所以我所做的是在客户端单独运行它。最终结果是,当服务器发送消息时,客户端显示为23秒,该消息表明时间倒计时为10分钟。 客户端为XNA,代码: 然后从可用时间中减去计时器,并显示出来。在服务器端,这种情况正在发生:

  • 我想编写一个tcp服务器和客户端应用程序,在客户端使用相同端口号的情况下,它们之间有几个不同的连接。 据我所知,服务器有一个侦听器端口,当客户端调用它时,我会在服务器端为这个新连接获得一个新的套接字,当我调用它时 正当所以在服务器端,我可以识别我与这个新套接字的连接,并通过它发送数据。 现在,我的理解与客户端的问题。我打电话的时候会拿到插座 所以我只有一个插座。在 我可以指定远程地址等等。所以当我

  • websocket客户端(使用Autobahn/Python和Twisted)需要连接到websocket服务器:客户端需要向服务器提供其客户端证书,客户端需要检查服务器的证书。例如,这些证书是在Kubernetes minikube安装过程中创建的。特别地: 服务器证书(据我所知为X509格式) 客户端证书~/。minikube/客户。按键 我已经检查过,我可以成功地使用这些证书密钥使用发出库伯

  • 我有一个示例Spring启动应用程序来运行图形QL服务器,具有作为客户端,我的pom有以下依赖项: 当我尝试从客户端连接时,出现以下错误: 狩猎决议好心建议。 我还有几个问题: 我应该使用SimpleGraphQLHttpServlet将请求路由到endpoint吗 我正在React UI上使用apollo client,那么它是强制使用apollo server还是spring boot可以工作