2017-02-02 14 views
1

Я бегом сервера Python на моей Linux машине:Невозможно телнет к локальной машине с Linux машины

# Echo server program 
import socket 

HOST = ''     # Symbolic name meaning all available interfaces 
PORT = 50007    # Arbitrary non-privileged port 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((HOST, PORT)) 
s.listen(1) 
conn, addr = s.accept() 
print 'Connected by', addr 
while 1: 
    data = conn.recv(1024) 
    if not data: break 
    conn.sendall(data) 
conn.close() 

Когда я пытаюсь подключиться с помощью Telnet к вышеуказанному серверу, я получаю эту ошибку:

Server lookup failure: localhost:50007:telnet, Name or service not known

Почему я получаю эту ошибку и как ее избежать?

+0

Проблема скорее связана с использованием telnet, чем с вашим кодом - покажите нам, какую команду вы использовали. Из сообщения об ошибке, похоже, что вы разделяли имя хоста и номер порта с помощью ':' вместо пробела. –

ответ

2

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

$ telnet localhost:50007

В отличие от SSH, клиент telnet Linux не использует синтаксис: для подключения.

Try,

$ telnet localhost 50007

Если возникли проблемы с вашей розеткой, телнет возвратит «соединение отказались» или подобного статуса. Вы можете проверить, если сервер правильно инициализирован и прослушивания указанного порта с помощью -

$ netstat -an | grep 50007

Если NetStat возвращает что-то вроде ниже линии, Ваш сервер слушает на всех интерфейсах.

tcp 0 0 0.0.0.0:50007 0.0.0.0:* LISTEN

0
  • Попытайтесь проверить netstat -a, если ваше приложение прослушивает порт 50007.
  • Попробуйте использовать IP 127.0.0.1 вместо «»

 Смежные вопросы

  • Нет связанных вопросов^_^