首页 > 解决方案 > 程序侦听套接字并运行一次,但第二次什么也不做

问题描述

所以我目前正在制作一个语音助手,它的任务之一是在我的电脑上打开一个网络浏览器和/或在我的电脑上打开其他东西。

语音助手将在我家的一台单独的机器上运行,我的电脑上会有一个客户端。这个想法是语音助手听我说的话,运行适当的语句来触发客户端收听的信号并运行适当的代码。

server.py 是这样的:

#Security Camera feed goes here
if voice_data in SecCamTerms:
    Spot_Speak("Opening security camera feed")
    OpenCamFeedSignal = "send"

    if OpenCamFeedSignal == "send":
        clientsocket, address = s.accept()
        msg = "fe32wrqWfvCd"

        clientsocket.send(bytes(msg, "utf-8"))```

client.py 是这样的:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((socket.gethostname(), 2802))

while True:
    msg = s.recv(28)
    signalRecieve = msg.decode("utf-8")
    msg = ""

    if signalRecieve == "fe32wrqWfvCd":
        cam_feed = "https://www.google.com"
        webbrowser.get().open(cam_feed)

(main.py 有更多内容,但不相关)

当前发生的情况是在第一次启动时,我对其进行了测试,一切顺利,它打开了浏览器,但是当我再次询问命令时,它说它已经完成了,但客户端没有任何反应。

谁能看到我可能错过的任何东西?

谢谢!

标签: pythonsockets

解决方案


推荐阅读