Форум сайта python.su
Нужно перекодировать строку в массив байтов и передать на сервер!
ввод str выполняется при пом
raw_input().
sock.send(str.encode(a))
sock.send(b'фыв')
a = 'фыв'
raw_input()
Офлайн
raw_input возвращает байты, так что sock.send(str)
Офлайн
Спасибо.Может вопрос не правильно ставлю, но как мне тогда на стороне сервера перекодировать переданный ‘фыв’ , что бы проверить его на совпадение?латиница совпадает
Офлайн
kristus
Спасибо.Может вопрос не правильно ставлю, но как мне тогда на стороне сервера перекодировать переданный ‘фыв’ , что бы проверить его на совпадение?латиница совпадает
'фыва'.decode('cp1251')
Отредактировано Budulianin (Окт. 24, 2013 17:54:48)
Офлайн
Budulianin
'фыва'.decode('cp1251') —-> UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode(
Офлайн
какие ОСи на серверах?
Офлайн
делаю просто через localhost маленький примерчик запрос - ответ winxp
client
from socket import * sock=socket(AF_INET,SOCK_STREAM) sock.connect(('localhost',1808)) a = raw_input() sock.send(a) data=sock.recv(64)#читаем 64-байтовый блок sock.close()
from socket import * sock=socket(AF_INET,SOCK_STREAM)#создаём сокет TCP/IP(в подробности пока не вдаёмся) sock.bind(('',1808)) #указываем номер порта, к которому ожидается подключение sock.listen(2) #указываем максимальное кол-во ожидающих клиентов while True: connection,address=sock.accept()#принимаем входящее поключение data=connection.recv(64)#читаем данные блоками по 64 байта if data=='фыв': data = 'бла-бла' connection.send("Привет" + " " + data)#отправляем ответ connection.close()
Офлайн
kristushttp://habrahabr.ru/post/117236/
winxp
Офлайн
Очередной раз убеждаюсь, что программирование на питоне - одно удовольствие
Офлайн