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()

 

运行效果:

 

好,就这些了,希望对你有帮助。

posted on 2012-03-07 23:46  Mike_Zhang  阅读(4663)  评论(1编辑  收藏  举报