socket端口重定向(python示例)
本文情景:在端口12345开启文件共享,此时我也想通过8000端口同时访问此共享。
根据我之前的一篇文章(http://www.cnblogs.com/MikeZhang/archive/2012/02/11/httpFileSharePythonAndGo.html),
可以很轻松的在端口12345开启共享,效果如下:
要实现我想要的功能,只需要将端口重定向就行了,代码如下:
#! /usr/bin/python ''' File : redirect.py Author : Mike E-Mail : Mike_Zhang@live.com ''' import socket,os bufLen = 4*1024 sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock1.bind(('192.168.168.100', 8000)) sock1.listen(5) sock2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock2.connect(('192.168.168.100', 12345)) while True: connection,address = sock1.accept() buf = connection.recv(bufLen) #print buf sock2.send(buf) connection.send(sock2.recv(bufLen)) connection.close()
运行效果:
好,就这些了,希望对你有帮助。