Я сейчас создаю чат-приложение на python.
Это работает так:
1. Сервер работает
2. Клиенты вводят свой идентификатор и пароль
3. Информация для входа проверяется сервером
4. Им назначается случайное число сервером
5. Теперь они могут отправлять и получать сообщения с и на сервер
У меня проблема с получением ID и пропуска (пожалуйста, не вините меня за использование global и exec)
def recv_server():
global number
global s #the tcp socket
exec("global sock"+number) #creating a specific sock for each connection
exec("sock"+number+","+"sockname"+number+" = s.accept()")
exec("logindata=sock"+number+".recv(65535)")
logindata=logindata.decode()
...
Номер 1, код будет:
global sock1
sock1, sockname1 = s.accept()
logindata=sock1.recv(65535)
Я использую python 3.2 в Windows и при запуске сценария, когда данные для входа в систему обычно имеют значение, теперь они не назначены
File 'abc' line 23, in recv_server
logindata=logindata.decode()
UnboundLocalError: local variable 'logindata' referenced before assigment
На моем компьютере с Linux (mint 11) обмен файлами с помощью dropbox и открытие с помощью python (2.7) не дает мне никакой ошибки
Теперь я спрашиваю, знает ли кто-нибудь, что является причиной этой проблемы?