Отправка данных с сервера на сокетную колбу python - PullRequest
0 голосов
/ 29 января 2019

Я создаю какой-то веб-сервис из Flask Python.Я использовал сокет для получения данных от оборудования.У меня есть некоторые проблемы, когда я пытаюсь сделать запрос модуля никогда не отвечаетМой код вроде этого

def on_new_client(clientsocket,addr):
    while True:
        # msg = clientsocket.recv(1024)
        dataascii = clientsocket.recv(7024)
        data = binascii.hexlify(dataascii).decode()
        #do some checks and if msg == someWeirdSignal: break:
        print addr, clientsocket, ' >> ', data

    clientsocket.close()

def SendRequest():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_address = ('x.x.x.x', 59972)
    return 'connecting to %s port %s' % server_address
    sock.connect(server_address)
    try:
        strcommand = str('534F5323')
        message = strcommand.decode('hex')
        messageascii = binascii.hexlify(message).decode()
        sock.sendall(message)
        return messageascii

    finally:
        print >>sys.stderr, 'closing socket'
        sock.close()

def launchServer():
    s = socket.socket()         # Create a socket object
    host = ('x.x.x.x', 5000) # Get local machine name
    s.bind(host)       
    s.listen(100)
    while True:
       c, addr = s.accept()    
       print 'Got connection from', addr
       thread.start_new_thread(on_new_client,(c,addr))

@app.route('/sendrequest', methods=['GET', 'POST'])
def index():
    ClientIP = ('x.x.x.x', 59972)
    thread.start_new_thread(SendRequest,())
    return ClientIP

if __name__ == "__main__":
    t = threading.Thread(target=launchServer)
    t.daemon = True
    t.start()
    app.run(debug=True, host="x.x.x.x", port="5001")

Я пытаюсь сделать send on_new_client после получения данных, и модуль может принять мой запрос.Я не знаю, как сделать запрос от route /sendrequest.

Буду признателен за любую помощь или совет !!Спасибо

...