按下按钮进行插座连接

时间:2016-11-20 13:55:18

标签: python sockets tkinter raspberry-pi3

所以我正在运行两个覆盆子pi。一个是充当热点(不能记住确切的软件,DCP的东西吗?),另一个是通过WiFi连接到它。

无论如何,我希望这个连接在启动时继续,但问题是,它只能在我完全同时运行程序时运行,并且循环似乎失败了。

所以这是我的服务器。

Host = '' #I have my specific address here
PORT = 8000
s= socket(AF_INET, SOCK_STREAM)

def CamConn():
    s.bind((Host, PORT))
    s.listen(24) # I eventually want 24 rpi connected
    Conn, addr = s.accept()
    Conn.settimeout(1)

通过tkinter按钮调用CamConn()。

我的客户

HOST= ''
PORT= 8000
s= socket(AF_INET, SOCK_STREAM)
s.connect((HOST, PORT))

这里最大的问题是它们有点连接,但实际上并不是......地址变为"在使用中"我必须重新启动服务器以使其再次免费。我尝试过使用异常,但遇到了同样的问题。老实说,我不知道为什么它只有一半连接?

编辑:

伙计们,我最终会把客户端放在一个元组中,所以不需要线程化。

我使用after mainloop来确保插座并发送和接收必要的内容。

我问的是,为什么这个连接在通过按钮呼叫时无法正常工作。客户端将挂起,直到按下按钮,它将识别连接,但它将无法创建可以发送或接收数据的连接。

编辑2:我还应该提到,我每秒都向所有其他客户广播相同的信息。服务器收到数据的唯一时间是选择了一个选项,用于发送照片。

0 个答案:

没有答案