Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Помогите разобратся с socketами


Автор: fox20 19.1.2011, 22:35
добрые люди помогите пожалуйста понять в чем проблема  в коде 
Код

#подключения к серверу
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = '127.0.0.1' # хост  
port = 33336 # порт
s.connect((host, port))
#сама функция отправки сообщения
def message(self):
        mesg = self.textEdit.toPlainText()
        nik = self.label_6.text()
        times = time.strftime("%H:%M:%S", time.localtime())
        s.send(times + nik + mesg)
        data = s.recv(1024) 
        self.textBrowser.setText(data)
        self.textEdit.clear() 

Автор: WolfAlone 20.1.2011, 07:37
Простите, а в чём вообще проблема то? Что именно не так (не работает)?

Автор: fox20 20.1.2011, 14:32
в коде почти все хорошо , нормально обращается к серверу , только блин выводит в текстовое поле всего лишь один символ сначала сообщения 

Автор: fox20 20.1.2011, 14:49
в коде почти все хорошо , нормально обращается к серверу , только блин выводит в текстовое поле всего лишь один символ сначала сообщения 

Автор: dipsy 31.1.2011, 13:16
Код

data = s.recv(1024) 

получит не более 1024 байт. нет гарантии, что пришло всё что нужно. после получаения сообщения нужно проанализировать ответ, все ли данные пришли. если не все, то делать s.recv(1024) ещё раз (лучше в цикле).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)