【问题标题】:I am learning socket but my code but i am not being able to connect to a port我正在学习套接字,但我的代码却无法连接到端口
【发布时间】:2020-07-02 13:40:43
【问题描述】:
#server
import socket
s = socket.socket()
print("Socket connected")
s.bind((socket.gethostname(),9999))
s.listen(3)
print("waiting for connection")
while True:
    c, addr = s.accept()
    print("connected with",addr)
    c.send(bytes("Welcome!","utf-8"))
    c.close()

#client
import socket
c = socket.socket()
c.connect((socket.gethostname(),9999))
msg = c.recv(1024)
print(msg.decode("utf-8"))

运行客户端后出现错误提示:OSError: [WinError 10048] 每个套接字地址(协议/网络地址/端口)通常只允许使用一次

【问题讨论】:

    标签: python sockets port


    【解决方案1】:

    错误表明您尝试绑定的端口当前正在使用中。 即使您停止程序,绑定后端口仍会占用几分钟的时间。

    在绑定到代码中的端口之前,您需要启用reuse address 选项。

    您可以这样做:

    s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
    

    您可以在以下链接中获取详细信息:

    http://hea-www.harvard.edu/~fine/Tech/addrinuse.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 2021-04-24
      • 2011-12-07
      • 2014-04-16
      • 2022-11-17
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多