gpt4 book ai didi

python - Python中的socket编程——实际的远程端口

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:04 25 4
gpt4 key购买 nike

这些天我一直在用 Python 进行一些网络编程,想确认一下我认为在客户端和服务器之间发生的流程:

  • 服务器监听给定的广告端口 (9999)
  • 客户端通过创建一个新的套接字(例如1111)连接到服务器
  • 服务器接受客户端请求并自动生成一个新的套接字 (????) 现在将处理客户端和服务器之间的通信

如你所见,在上面的流程中涉及到3个套接字:

  • 监听客户端的服务器套接字
  • 客户端生成的套接字
  • 服务器产生的套接字来处理客户端

我知道获取前两个套接字(9999 和 1111)的端口,但不知道如何获取与服务器端客户端通信的“真实”端口。我正在使用的代码片段现在是:

def sock_request(t):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 9999))
print('local sock name: ' + str(s.getsockname()))
print('peer sock name: ' + str(s.getpeername()))
s.send('a' * 1024 * int(t))
s.close()

任何有关获取实际与客户端通信的服务器上的“端口”号的帮助将不胜感激。 TIA。

最佳答案

新套接字在同一个端口上。 TCP 连接由 4 条信息标识:源 IP 和端口,以及目标 IP 和端口。因此,您的服务器在同一端口上有两个套接字(即监听套接字和接受套接字)这一事实不是问题。

关于python - Python中的socket编程——实际的远程端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com