前段时间买了个平板,在加上我的电脑像这样外接了显示器,还连了耳机和扩展坞,每次带出去要拔掉好多线,回来又要插上,十分不方便,但是有些课又不得不使用电脑,所以我决定成尝试一下串流,这样就可以只携带平板了。PS:本人使用的设备是Windows电脑+安卓平板,苹果设备大概也可以用。

一开始我选择使用 g̶a̶m̶e̶v̶i̶e̶w̶   UU远程 进行串流,但是他的码率实在是不尽人意,而且没有办法唤醒睡眠的电脑,更重要的是要是哪天他突然收费了怎么办!所以我选择使用sunshine+moonlight进行串流。

我使用的sunshine和moonlight都并非原版,是其他大佬修改而来,在这里放上原版和我使用的修改版本的github链接。

sunshine原版

sunshine基地版

Moonlight原版

Moonlight威力加强版

关于sunshine和moonlight的使用在下面的文档里有十分详细的介绍,这里就不废话了。

https://docs.qq.com/aio/DSGdQc3htbFJjSFdO

首先来说一下我的环境:电脑放在寝室经过路由器连接校园网,下发10.150网段的ipv4,ipv6我关闭了,路由器内网下发192.168.31网段的ip(一眼小米路由器)。

这样一来,只要平板连接了路由器的wifi,那么电脑和平板就可以实现局域网互访(注意电脑防火墙放行必要端口),moonlight会自动检测局域网的设备,这样就是普通的局域网串流。

但是当我把平板带到教室,连接了教学区的wifi之后,这时候想要访问在寝室的电脑,我们需要使用路由器的端口映射功能将电脑的ip和端口映射到路由器的外网上,这样通过10.150网段就可以直接访问到192.168.31内网网段的电脑了。但是经过我的测试,虽然校园网是大内网,但是连接教学区wifi的设备并不能ping通寝室的电脑,我猜测是校园网开启了vlan隔离(我也听说有人可以ping通,大家可以先尝试一下)。

我决定使用NAT打洞的方式实现两台设备的直接访问,相较于直接搭建中转服务器(内网穿透),NAT打洞的方式更加节省服务器流量,且带宽不受中转服务器限制。而且在校园网的环境下拥有极低的网络延迟。

其实Moonlight威力加强版和sunshine基地版的作者也做了一个NAT打洞的程序——皎月连,而且将他集成在了moonlight里,使用十分方便,但是我通过校园网登录皎月连一直提示错误,这是校园网络环境的问题,我无法解决。所以我换用开源软件Tailscale进行NAT打洞。

只需要注册一个账户,在电脑和平板上安装tailscale并登录同一个账号,两台设备都开启tailscale连接,通过tailscale提供的ip就可以实现互访了,经过我的测试的确可以,延迟也与局域网相差无几,之后就可以在教学区直接操控寝室里的电脑了。