Я создал простой сервер чата с помощью Python. У меня возникли проблемы с выходом из программы с клиентской стороны. При подключении мне нужно иметь возможность набирать«/quit », а программа должна отключиться от обеих сторон, клиента и сервера вот мой код:.Python Socket Programming Client «не работает
alias= raw_input("Name: ")
print 'Connected to remote host. You can start sending messages'
sys.stdout.write(alias + '->'); sys.stdout.flush()
while 1:
socket_list = [sys.stdin, s]
# Get the list sockets which are readable
read_sockets, write_sockets, error_sockets =
select.select(socket_list , [], [])
for sock in read_sockets:
if sock == s:
# incoming message from remote server, s
data = sock.recv(4096)
print data
if not data :
print '\nServer has ended Connection'
sys.exit()
else :
#print data
sys.stdout.write(data)
sys.stdout.write(alias + '->'); sys.stdout.flush()
else :
# user entered a message
msg = alias + '->' + sys.stdin.readline()
quit = '/quit'
#print msg == quit
print
if msg is quit:
print "Goodbye"
s.close()
sys.exit()
else:
s.send(msg)
sys.stdout.write(alias + '->')
sys.stdout.flush()
Да, к сожалению, я пробовал это при тестировании. Кажется, что есть проблема с моим сравнением, поскольку он просто печатает/завершает работу на сервере – Chris
@chris я обновил свой ответ –