在python

时间:2016-09-01 20:56:25

标签: python sockets portforwarding

首先,感谢所有用户,因为我在本网站上学到了很多阅读问题和答案。

我开始学习Python,并且我试图通过套接字将PC上的信息发送到另一台PC。当我连接本地主机的两台计算机时,这一切都很有效。但是,我试图与朋友的电脑联系,我无法做到。我知道(感谢本页前面的主题)服务器需要将端口转发到自己的计算机。我的朋友已经这样做了,我作为客户和他作为服务器,我们还没有能够连接。

我想向您展示我非常简单的代码,因为我确定我错了一些我无法弄明白的东西。

这是客户端脚本:

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("Public IP of server",9990))

if True:
    print "Conexion establecida"
while True:
    mensaje = raw_input("Mensaje a enviar: ")
    if mensaje == "close":
        break
    else:
        s.send(mensaje)
print "Mensaje enviado."
s.close()

这是服务器脚本:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("",9990))
s.listen(1)
sc, addr = s.accept()
print "Conexion establecida con ", str(addr[0])
while True:
    recibido = sc.recv(1024)
    if recibido == "close":
        break
    print str(addr[0]) + " dice: ", recibido    
    sc.close()
s.close()

客户端脚本与服务器的公共IP连接,如果为true,则让用户发送消息。服务器脚本只接收消息并打印出来。我希望这不足以让你失去很多时间。非常感谢您的阅读!

0 个答案:

没有答案