这里首先说明下 当websocket 部署好了以后内网是可以通过内网ip 进行连接访问的,然而通过 公网IP无法访问,不能够成功握手,这里就有个坑了,首先我们确认防火墙关闭了 或者 放行了对应的端口,然后 不管这怎么设置外网都无法握手。那么先ipconfig 一下 可以看到如图确认下我们的以太坊网关和我们监听的 ip 是不是正确的。
从图上我们可以看到有两个以太网网关,我的外网ip(47.*.156.*)绑定在以太网1这个网关上,然后通过代码获取到的内网ip 是以太网2(169.254.184.15)的,因此websocket对该ip进行监听,但是该网关没有绑定外网ip 所以无论如何使无法通过外网ip进行成功握手的,手动将websocket的监听的ip 换成了192.100.5.1以后 就可以通过外网ip成功握手了。这里就是外网ip 绑定在不同适配器的时监听可能遇到的坑。