2010-07-09 3 views
4

Я использую Twisted для реализации сервера. Когда я проверить это, первая строка получает всегда странно:Нечетное поведение при подключении к моей программе

Starting Server... 
New connection from 192.168.1.140 
192.168.1.140: ÿûÿû ÿûÿû'ÿýÿûÿý\NAME Blurr 
192.168.1.140: \NAME Blurr 

(для обоих входов я послал \NAME Blurr.)

Это код, который печатает вход:

def lineReceived(self, line): 
    print "{0}: {1}".format(self.name, line) 

Я подключаюсь через Putty через Telnet к удаленному хосту. Это протокол telnet, который я пропускаю, или что? Когда я использую программу telnet Unix и подключаюсь локально, первая строка в порядке.

ответ

5

Вы можете найти объяснение «ÿûÿû mystery» here. Краткая форма: telnet не простой протокол, и то, что вы видите, - это трассировка переговоров telnet (попытка) с сервером, который не говорит «telnettese» ;-). Хорошее предположение о том, «это протокол telnet, который мне не хватает» ;-)

RFC, участвующие в определении протокола telnet, связаны с this page, если вы хотите отлаживать дальше. Я не специалист по шпаклеру, поэтому я не знаю, как сказать шпаклеру, чтобы избежать этих переговоров (и действовать как старый добрый клиент Telnet Unix ;-).

+0

Спасибо за описательный ответ! –

+0

@Alex, добро пожаловать! Многие из нас озадачились тем, что «ÿûÿû» в прошлом (поскольку шпаклевка далека от единственного клиента telnet, чтобы попробовать причудливые переговоры, а telnet часто используется для тестирования на серверах, которые не выполняют протоколы telnet!), Это просто потребовалось мне 5 минут, чтобы найти хорошее объяснение онлайн! –

1

Это был действительно протокол telnet, который мне не хватало. Подключая как Raw, вместо этого Telnet решила проблему.

+0

Ударьте меня на одну секунду! -) Дарн, мне следовало послать скорее, а не собирать и вставлять полезные URL-адреса ;-). –