#python #networking
#python #сеть
Вопрос:
Я пытаюсь создать сеть отправителей и получателей на своем ноутбуке (localhost). код работает хорошо до s.accept() , но после этого ничего не происходит или (может быть, компиляция). Я проверил, напечатав 2 строки «ok1» и «ok2». «ok1» отображается, но «ok2» никогда, поэтому s.accept () не работает, насколько я понял. Как это исправить, пожалуйста…[я новичок в сокете]
код ниже:
s.listen(5)
print('Sender ready and is listening')
while (True):
# to accept all incoming connections
print("ok1")#its printing
clientsocket, address = s.accept()
print("ok2")#its not printing
print("Receiver " str(address) " connected")
# create a different thread for every
# incoming connection
client(clientsocket, address)
Комментарии:
1. Это должно сработать. Как вы пытаетесь подключиться к вашему серверному сокету?
2. @Serge Я загрузил файл отправителя и получателя. я буду рад, если вы увидите это, пожалуйста. отправитель: pastebin.com/wtYiCt8f приемник: pastebin.com/L2EcUYka
3. Не удается воспроизвести с помощью Python 3.6: я запустил
server.py
в одном окне (консоль), и он напечатал доok1
. Затем я запустилreceiver.py
другую консоль и снова получилok2
Receiver ('127.0.0.1', xxxx) connected
(xxxx — случайный порт)ok1
и ошибкуFile "C:...sender.py", line 40, in run bitstring = str(raw_input("enter bit string")) NameError: name 'raw_input' is not defined
.raw_input
это старая функция Python2 и толькоinput
в Python3.