Система обмена сообщениями в Python с использованием сокетаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Система обмена сообщениями в Python с использованием сокета

Сообщение Anonymous »

Я работал над полнофункциональным терминалом Fallout и на данный момент включил в него множество функций, одна из которых — это чат для общения между другими людьми, запускающими скрипт.
Я импровизировал небольшой чат, и он работает. идеально, пока примерно через 10 сообщений туда и обратно сообщения не перестанут приниматься и/или отправляться и в конечном итоге заморозят программу в цикле чистого небытия. Я не уверен, почему и как это исправить. Может ли кто-нибудь помочь?
return_menu() ничего не меняет, он просто выводит его из цикла обратно на домашнюю страницу, не влияет на код системе сообщений каким-либо образом.
Определения
import socket
import time

def charp(userInput, speed):
for char in userInput:
print(char, end='')
sys.stdout.flush()
time.sleep(speed)
e()

def e():
print("")

Код сервера
def server_host():
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("localhost", 9999))

server.listen()

client, addr = server.accept()

charp("| Save user's name as: ", 0.05)
msgServer = input("")
e()

while True:
msg = client.recv(1024).decode('utf-8')
if msg == 'EXIT':

client.send("EXIT".encode('utf-8'))

break

else:
charp(msgServer + ": " + msg, 0.05)

client.send(input("You: ").encode('utf-8'))

client.close()

server.close()

return_menu()


Код клиента
def client_host():
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client.connect(("localhost", 9999))

charp("| Save user's name as: ", 0.05)
msgClient = input("")
e()

while True:
client.send(input("You: ").encode('utf-8'))
msg = client.recv(1024).decode('utf-8')
if msg == "EXIT":

client.send("EXIT".encode('utf-8'))

break

else:
charp(msgClient + ": " + msg, 0.05)

client.close()

return_menu()



Подробнее здесь: https://stackoverflow.com/questions/786 ... ing-socket
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»