我在Linux机器上运行Python服务器:
# 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连接到上面的服务器时,我收到此错误:
服务器查找失败:localhost:50007:telnet,名称或服务未知
为什么我会收到此错误,如何避免错误?
答案 0 :(得分:2)
python程序看起来不错。 来自telnet的错误看起来像你一直在尝试使用类似SSH的命令行进行连接。
$ telnet localhost:50007
与SSH不同,Linux的telnet客户端不使用:语法进行连接。
尝试,
$ telnet localhost 50007
如果您的套接字有问题,telnet将返回“拒绝连接”或类似状态。 您可以使用 -
验证服务器是否已正确初始化并侦听指定的端口$ netstat -an | grep 50007
如果netstat返回类似下面一行的内容,那么您的服务器正在侦听所有接口。
tcp 0 0 0.0.0.0:50007 0.0.0.0:* LISTEN
答案 1 :(得分:0)
netstat -a
。IP 127.0.0.1
代替''