1

好吧,我在 python 中进行套接字编程时遇到了问题。

我以前用套接字做的是,首先创建一个客户端套接字并向服务器发送 HTTP GET 请求并接收来自该服务器的响应。它工作正常。

现在我的新想法是我想用两个套接字来做,一个发送,一个接收。

发送套接字和往常一样,不足为奇。接收套接字是一个绑定到发送套接字使用的 ipaddress 的服务器。

问题是我无法收到来自远程服务器的任何响应。我使用了wireshark,看到远程服务器仍然将数据发送回发送套接字使用的端口。但是,我无法将接收套接字绑定到该端口,因为它正在被使用。

反正有没有用两个套接字来实现我的场景?我是否必须使用 raw_socket 绕过某些系统网络协议?

4

1 回答 1

0

不,您不能将接收套接字绑定到与不同发送套接字相同的地址。

相关的 Linux 手册页

只有一个 IP 套接字可以绑定到任何给定的本地(地址、端口)对。

于 2013-10-31T19:31:01.037 回答