问题描述
我的代码:
import socket
server = socket.socket(socket.AF_INET,socket.soCK_STREAM)
server.setsockopt(socket.soL_SOCKET,socket.so_REUSEADDR,1)
server.bind(("47.29.209.94",4567)) # my public ip
server.listen(5)
server.accept()
print("connected")
我收到“ OSError:[Errno 49]无法分配请求的地址”,但是在ipv6的情况下,它可以正常工作。只有ipv4会出现此错误。如何解决这个错误,我想使用公共IPv4地址
解决方法
您不必将其分配给您的公共IP地址,只需使用
server.bind(("0.0.0.0",4567))
它将监听所有接口,如果正确使用端口转发,则可以接受来自互联网的公共连接