自建Socket转发,使用远程桌面(mstsc)连接家中电脑
原文: 自建Socket转发,使用远程桌面(mstsc)连接家中电脑 网络结构图如下: 开题先放图,一切全靠编哈哈。 进入正题! 如图所示,我们需要一个公网服务器,利用公网服务器将内网的数据进行转发,从而实现两个内网服务器的通讯。没错,这不是p2p,原本想做成p2p,因为有点难度,所以先弄一个tcp数据包转发,后面再来打洞进行p2p连接。 开发环境 VS2017 + asp net core2.1 + .net framework 4.5 整个过程是如何实现的呢? 1.被控客户端启动,发送被控端名称,例如:Home 2.服务器接收到被控端的数据,将Home记录,并将Home绑定到当前Tcp连接 3.主控端启动,发送要连接的“被控端服务”名称,例如:Home 4.服务端接收到主控端的请求,查询Home对应的Tcp连接 5.将从主控端来的数据转发到被控端,将被控端来的数据转发到主控端 代码在哪? 放到github上了: https://github.com/bobowire/Wireboy.Socket.P2PService 在实现的过程中遇到什么问题了? 1.由于windows锁屏后,Console.WriteLine方法会进行无限期等待,导致程序卡住不动。 解决办法:在运行后,将所有的Console.WriteLine方法全部注释掉了。 2.在连接一次之后