twisted搭建简单的局域网

本文很简单,很小白。但是希望你具备下面几项:

1.用python写过hello world

2.安装了twisted

3.有一个路由器

ok,如果你还不具备条件1和2,那么花费一个小时学习一下,不具备3的话,那就看快递小哥的速度了~

为什么我要搭这个局域网呢?需求是这样产生的,我现在有三个电脑......我真的不是有钱,就是喜欢折腾,一个台式机,一个笔记本,一个八年前的旧笔记本,还有手机和pad,互相之间传点文件很麻烦,电脑之间还好些,苹果的设备和电脑之间就不好操作了。举个例子,比如我移动硬盘上下载了很多电影,但是呢,我想躺到床上看,就需要插数据线,拷贝,拔掉,发现不好看,删除,再次拷贝,超级麻烦。并且手机和pad的内存有限,放不了几部电影就满了。在线看的话受制于网速,找资源,弹窗等等。正好几天前看了twisted的文档,可以之间把文件夹映射到url链接上,这样直接用浏览器访问我们电脑的文件夹,然后点击就好了,想怎么看就怎么看。

我们来看代码,很简单

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from twisted.web import static, server, proxy
from twisted.internet import reactor

def GetSite():
    root_resource = static.File("./")
    return server.Site(root_resource)

def Run(port):
    reactor.listenTCP(port, GetSite())
    reactor.run()


if __name__ == '__main__':
    Run(8008)

8080就是你想运行的端口号。然后root_resource = static.File("./")中的"./"表示你想要加载的文件路径,我这里加载的是当前目录,也就是这个程序文件所在的文件夹。然后运行你的程序。访问本地的网址http://127.0.0.1:8080/就能看到这个目录下的文件了。

twisted_net_1

twisted会自动的生成一个简易的页面,点击进去就可以看到子目录下的文件了。下面就是把我们要看的电影放到这个目录下了,或者直接更改程序中设置的目录位置就好了。

上面说的是在本机上查看,我们的目的是在其他的设备上查看文件,这样的话网址就不能用127的了,因为127这个表示的是本机的ip地址。linux下用ifconfig命令,windows下用ipconfig命令查看自己电脑的局域网ip。

twisted_net_2

比如上图显示我的局域网ip地址是192.168.16.110,,那么我就在手机上输入192.168.16.110:8080这个ip地址就可以了。我们可以这么简单的理解。127.0.0.1指向的都是本机,而这个192的地址才是我们在局域网中的绝对地址。

然后你就可以用手机或者ipad的浏览器来打开这个网页,浏览这个目录下的文件了。

另外,有写格式的视频文件是不能用这种方式观看的,avi的不可以,还有几个不可以,不过我的冰与火之歌可以,哈哈~

如果你想看的视频文件不支持这种方式的话,可以转换视频格式,不过这样是不是有点缘木求鱼了~有什么我没讲明白的欢迎提问