为什么在Python中创建套接字服务器时指定主机?

时间:2015-06-10 10:43:00

标签: python sockets

在Python中设置服务器套接字时,socket.bind(address)方法允许您将地址指定为(host, port)之类的元组。但是,the first example表示您可以将主机指定为''作为表示所有接口(IPv4)的快捷方式。

我可以看到,为了安全起见,限制服务器套接字侦听哪些接口是有用的。但是,您是否还有其他原因需要指定主机/ IP地址?

我问的原因是我维护了一个用Python编写的调试器接口。有人问我为什么不使用''作为主机,这样远程客户端就可以在没有任何配置更改的情况下进行连接。这在某种程度上感觉不对,但感觉需要更加技术性的解释!

提前致谢。

1 个答案:

答案 0 :(得分:1)

一个明显的例子是在多宿主机器上运行服务的情况。

也许你想在每个ip地址上为sshd使用不同的密钥。

或完全不同的Web服务器都在侦听端口80但不同的地址。

你明白了。

除非您希望调试器的多个实例运行或限制与localhost的连接,否则我无法理解为什么它是必要的。