Как сделать непрерывный цикл while в Python с прослушиванием и ожиданием сокетов каждый раз? - PullRequest
0 голосов
/ 02 октября 2019

Я хотел, чтобы программа подсчитывала при отправке сообщения "count" в сокет. Это работает отлично. Тем не менее, я не могу заставить его перестать считать, когда посылаю любое другое сообщение в сокет.

Я уже изучил многопоточность и многопроцессорность, и, похоже, это не решает проблему.

Я также попытался поместить "message = clientsocket.recv (1024) .decode ()" в цикл "while message ==" count "", и в результате он имеет значение только 1 и останавливает прослушивание и ожидание ввода.

Вот упрощенная версия кода:

import socket
import time

listensocket = socket.socket()
Port = 8000
maxConnections = 999
IP = "10.51.241.196"

listensocket.bind(('',Port))

def checkMessage():
    count = 0

    listensocket.listen(maxConnections)
    print("Server started at " + IP + " on port " + str(Port))

    (clientsocket, address) = listensocket.accept()
    print("New connection made!")
    message = clientsocket.recv(1024).decode()
    message = str(message)
    print(message)

    if message == "count":
        while message == "count":
            count += 1
            print (count)
            if message != "count":
                break

while True:
        checkMessage() 

`

Любая помощь и предложение будут удивительными. Спасибо.

...