0
我有两个按钮。连接和断开。当第一次按连接时,客户端成功连接到服务器(localhost:4106),当按下断开连接时,客户端断开连接。 我的问题是,当我再次按下“连接”,客户端将不会重新连接到服务器,我收到一条错误消息:http://i.imgur.com/dkvos.pngPython套接字客户端无法重新连接
我认为这是由于套接字连接无法重新使用?有没有解决方法?谢谢
#!/usr/bin/python
import socket
import Tkinter
import tkMessageBox
top = Tkinter.Tk()
s = socket.socket()
host = '127.0.0.1'
port = 4106
def connect():
s.connect((host, port))
def disconnect():
s.close()
ConnectBtn = Tkinter.Button(top, text ="Connect", command = connect)
DisconnectBtn = Tkinter.Button(top, text ="Disconnect", command = disconnect)
ConnectBtn.pack()
DisconnectBtn.pack()
top.mainloop()
呼叫socket.socket(),并指定s到一个新的套接字。在关闭它之前,检查disconnect()以确保它是一个有效的开放套接字。 – engineerC
插座不能重复使用;在connect()函数中使用's = socket.socket()',并将代码顶部的's'声明替换为's = 0'。你也可以使用你的'disconnect()'函数关闭套接字,只有当它是一个有效的套接字时,通过检查它的值是否为'0',并且一旦它成功地断开连接,它就会将它的值设置为'0'。我认为这是有道理的。 – Archimaredes