接上文.在本地做测试的时候,应该是完全没问题的.但是在两台互通的机器上面做的时候,我在做实验的时候却老是不通.想来想去,只能想到是防火墙的原因了.
我的server端采用的是fedora10,测试客户机是vista.用client来ping server的时候是成功的,但是用server来ping client的时候是失败的.将vista的防火墙关掉,ping是成功的.
然后打开fedora的防火墙设置.system=>adminstrator=>firewall.将所要使用的服务改为trust.如果要用不在列表中的端口,在others里面把其它所要用的端口号加进去,然后一切便OK了.
下面的例子是使用simple http server作为一个代理服务器.
import SocketServer import SimpleHTTPServer import urllib
PORT = 1234
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): self.copyfile(urllib.urlopen(self.path), self.wfile)
httpd = SocketServer.ForkingTCPServer(('', PORT), Proxy) print "serving at port", PORT httpd.serve_forever()
|
有兴趣的朋友可以自行调试.
阅读(1049) | 评论(0) | 转发(0) |