【发布时间】:2014-07-05 00:08:19
【问题描述】:
我一直在尝试学习如何在 python 中使用 Telnet,但我遇到了一些问题。 重要的是-我对这个主题一无所知。 IP,telnet,sockets..什么都没有.. 假设这是我的服务器:
import socket
import sys
HOST = ''
PORT = 8886
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
try:
s.bind((HOST, PORT))
except socket.error , msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()
print 'Socket bind complete'
s.listen(10)
print 'Socket now listening'
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])
print 'sending msg'
conn.sendall('My name is: ')
print 'msg sent'
data = conn.recv(1024)
print data
x="Hello %s and Thank you for your help! :)"%data
conn.sendall(x)
conn.close()
s.close()
现在这只是测试的基本内容.. 我试图创建一个客户端,它将从很远的地方连接到服务器,所以我不能使用 localhost。 这就是我设法做到的:
import socket
import sys
import time
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('85.65.110.8',8886))
data= sock.recv(1024)
lol=raw_input(data)
sock.sendall(lol)
data = sock.recv(1024)
print data
time.sleep(3)
sock.close()
IP 85.65.110.8 是我从 whatismyip.com 找到的,即使在我自己的计算机上也无法使用。 我尝试了 IP 192.168.0.100,它可以在 LAN 上工作,但不能来自我朋友的房子(正在测试它),并且“localhost”也可以工作(仍然来自我,但不是来自我朋友的房子) 我该如何更改此设置,以便我的朋友可以连接到服务器? 谢谢 :) (我的防火墙已关闭,我转发了端口.. 我想...我希望如此...)
【问题讨论】:
-
您的系统上应该有程序
telnet(telnet.exe),这样您就可以使用它来测试您的服务器 - 使用终端/cmd.exe 和命令telnet localhost 8886(或您的朋友@987654326 @)。顺便说一句:您的 Internet 提供商可以拥有自己的防火墙,并且它可以每天更改您的 IP。 -
我尝试使用 CMD,但当我尝试连接时,服务器似乎仍然没有响应..