C#下的TCP内网穿透技术 最近有个项目需要用到内网穿透技术,在网上找了很多资料都没有解决,请大神指点该如何进行,最好有例子!(不支持uPnP协议) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单的就是有个代理服务器,其实就是有个中介的电脑上面运行一个程序,然后2个内网的程序都主动连上这个中介程序,由这个中介程序负责2个内网tcp连接的数据中转,接收一个套接字的数据,然后发给另一个 http://www.cnblogs.com/nightwatcher/p/3476742.html http://blog.csdn.net/small_qch/article/details/8815028 http://www.cnblogs.com/nightwatcher/p/3476742.htmlhttp://blog.csdn.net/small_qch/article/details/8815028 基于.NET平台和C#语言实现TCP NAT穿越https://www.cnblogs.com/zhangguihua/p/9996254.html 内网TCP/IP UDP 实现 NAT打洞 —— 这个可能有点难 而且也不是每个 路由器 都支持,而且因为不稳定 所以需要非常健壮的 容错机制)搜索 “NAT打洞” “NAT内网穿透”--------------------------------------建议的做法就是: 找个中间的公网服务器,部署一个中介服务:当两端都连上中介后,对双方的字节 进行转发。 C#代码实现TCP穿透(打洞)https://blog.csdn.net/roujie3519/article/details/84540049 既然使用 TCP那就转发吧。可以做到实时通讯,而且简单可靠。 不用隧道技术实现的话,只能转发了。而转发上其实目前也算比较好实现,一般是虚拟dns,内部构造一个虚拟化网络。每个套接字给他一个虚拟域名,剩下的事情就和传统代码一摸一样了虚拟dns构建目前也比较简单,docker下有一堆人家已经配置好的单机/集群的虚拟dns系统,2小时就能构建一套了 TCP 本来就是双向的,所以只要把信令协议设计好了,能反映业务就可以了。例如:<xxxxx>对我说:.......................................我对<yyyyy>说:.......................................你的信令只要给消息的发送者和接收者能够标记出来,那么这样的消息发给服务器,服务器自然就(找到具体的TcpClient对象而)把这个消息原封不动地再推送给目标客户端进程了,实际上比你以前见过的信令功能更简单(因为只是转发而已)。这是普通的 TCP 通讯,例如 websocket 等等都可以直接实现,都是一个业务信令设计问题。只不过你之前设计信令时你没有想到要转发,而都是让服务器干点更复杂的业务而已。 有关datagrivew保存的问题 string转换成datetime的问题 窗口中嵌入Office的问题 C语言的结构转体转C# 引用sip的dll,高手进 关于装箱的问题 请问如何用dataset或dataview绑定listview 我写的一个SQL语句太长,它要求最大128个字符,怎么解决这个问题? 代码变成类似"0x3gg1ffg",这是加密成二进制吗?如何反译呢? 求救:俄罗斯方块(WM6)的源代码,仅仅panel绘图显示有点问题,帮忙修改一下 空间坐标算法 C# 多线程执行变慢 c#+SharpGL取得鼠标点击点的三维坐标
http://www.cnblogs.com/nightwatcher/p/3476742.html
http://blog.csdn.net/small_qch/article/details/8815028
https://www.cnblogs.com/zhangguihua/p/9996254.html
而且也不是每个 路由器 都支持,而且因为不稳定 所以需要非常健壮的 容错机制)搜索 “NAT打洞” “NAT内网穿透”--------------------------------------
建议的做法就是:
找个中间的公网服务器,部署一个中介服务:当两端都连上中介后,对双方的字节 进行转发。
https://blog.csdn.net/roujie3519/article/details/84540049
而转发上其实目前也算比较好实现,一般是虚拟dns,内部构造一个虚拟化网络。每个套接字给他一个虚拟域名,剩下的事情就和传统代码一摸一样了虚拟dns构建目前也比较简单,docker下有一堆人家已经配置好的单机/集群的虚拟dns系统,2小时就能构建一套了
我对<yyyyy>说:.......................................你的信令只要给消息的发送者和接收者能够标记出来,那么这样的消息发给服务器,服务器自然就(找到具体的TcpClient对象而)把这个消息原封不动地再推送给目标客户端进程了,实际上比你以前见过的信令功能更简单(因为只是转发而已)。这是普通的 TCP 通讯,例如 websocket 等等都可以直接实现,都是一个业务信令设计问题。只不过你之前设计信令时你没有想到要转发,而都是让服务器干点更复杂的业务而已。