咨询个 socket 问题

2015-02-09 11:19:04 +08:00
 hiboshi

有个树莓派跑的是debian系统,在内网受网关保护,而且我没有路由器权限,做不了端口转发,暂不不考虑vpn

现在需要外网主动通知我内网的树莓派,想过socket但是好像内网需要主动请求,需要希望能够实现外网主动通知。除了udp打洞 p2p外还有什么办法?

或者 vpn sock p2p 你们会考虑什么?

ngrok 比较慢,想通过底层一点的来实现,暂不考虑向日葵

2836 次点击
所在节点    Python
8 条回复
invite
2015-02-09 14:25:40 +08:00
外网主动通知的前提是,外网跟你内网需要有通路,这个就必须你内网主动连接外网。否则人家直接一个数据包过来,丢不到你这边。
hiboshi
2015-02-09 15:58:42 +08:00
@invite 假如内网主动发起了socket请求建立了长连接,这样的外网能主动联系内网吗?
henices
2015-02-09 16:14:30 +08:00
@hiboshi 可以。但是过了一段时间长连接会断开,需要监测这种情况客户端重连。
zhicheng
2015-02-09 16:19:33 +08:00
如果在公网有 Linux 服务器的话,直接 ssh 端口转发好了,最简单的方法。
jhaohai
2015-02-09 16:21:30 +08:00
有一个n2n的软件,可以快速建立一个vpn网络,但是对于nat后面的需要一个有公网IP的server做转发
hiboshi
2015-02-09 16:22:05 +08:00
@henices 额是类似QQ 一样,保持在线上用TCP检查,一段时间检查一次,发现断开重新连接
hiboshi
2015-02-09 16:23:10 +08:00
@jhaohai 公网vps是有的 n2n可以考虑了。
invite
2015-02-09 16:40:32 +08:00
@hiboshi 可以的,加上keepalive保持防火墙上的链接状态。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/169476

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX