我的python测试代码:
import socket
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s1.bind(('192.168.1.1', 80))
s1.listen(5)
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.bind(('0.0.0.0', 80))
s2.listen(5)
我收到了这个错误:
fpemud-workstation test # ./test.py
Traceback (most recent call last):
File "./test.py", line 11, in <module>
s2.bind(('0.0.0.0', 80))
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
192.168.1.1 是我的 eth0 接口的 ip 地址。
我认为 0.0.0.0:80 和 192.168.1.1:80 应该能够共存。
具有 dst-addr 192.168.1.1 的数据包进入套接字 s1,具有其他 dst-addr 的数据包进入套接字 s2。