首页 > 解决方案 > 如何实时检查套接字值?

问题描述

import socket
import threading
import RPi.GPIO as g

g.setwarnings(False)
g.setmode(g.BOARD)
g.setup(31,g.IN)
gdata =  g.input(31)

#*
def receive(socket, signal):
#   while signal :
    while signal:
    #   gdata =  g.input(31)
    #   if gdata == 1:
    #       socket.send("GPIO is 1".encode())   
        try:    
            data = socket.recv(32)
            print(str(data.decode("utf-8")))
        except:
            print("You have been disconnected from the server")
            signal = False
            break
        
# Get host and port
#host = input("Host: ")
# port = int(input("Port: "))
host = '192.168.1.3'
port = 1025

try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((host, port))
    print("connection successed.")
except:
    print("Could not make a connection to the server")
    input("Press enter to quit")
    sys.exit(0)

receiveThread = threading.Thread(target=receive, args=(sock, True))
receiveThread.start()

sent across the network
while True:
    gdata =  g.input(31)
    #   message = input()
    #   sock.sendall(str.encode(message))
    if gdata == 1 :
        sock.sendall("GPIO 1 is CPU2".encode())
    break

我想要套接字输入值实时检查,但此代码检查 enterserver 仅检查 1

如何循环检查?

我想要前)

我输入值数据输入 0 不打印输入 1 如果 gdata == 1 开始:sock.sendall("GPIO 1 is CPU2".encode()) 代码

标签: python

解决方案


推荐阅读