socket编程通过代理服务器

时间:2015-04-24 05:45:22

标签: python sockets proxy socket.io raspberry-pi

我的server.py和client.py在同一台计算机内以及与wifi调制解调器直接连接的计算机内正常工作。但如果我想在通过代理连接的计算机之间使用它们,它们就无法正常工作。 ping在这些计算机之间正常工作。是否需要修改我的程序或代理设置?防火墙已停用。

我写了简单的服务器程序

import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host=socket.gethostname()
port=12345
s.bind((host, port))
s.listen(5)
while True:
    c, addr = s.accept()
    print 'got connection from',addr
    c.send('Thank you for connecting')

    c.close()

和客户端程序

import socket               

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)        
host = 'server-ip-address' 
port = 12345               
s.connect((host, port))
print s.recv(1024)
s.close                    

错误是没有建立连接,因为目标机器主动拒绝它。我的错是什么?

enter image description here 我的网络是这样的。我想连接PC2和PC3或PC1和PC3。 PC1,PC2和PC3的防火墙被禁用。仍然拒绝连接。为什么呢?

1 个答案:

答案 0 :(得分:1)

如果您使用的是自定义端口(例如默认情况下不支持的非协议标准端口),则必须在ccProxy中配置自定义端口映射。

ccProxy调用这些端口映射规则。你可以在这里阅读它们:http://www.youngzsoft.net/ccproxy/faq_6.htm