开发者社区> 问答> 正文

通过java写一个端口映射,使外网连接内网?报错

我在阿里云上部署了一个通过TCP建立连接的socket服务器,然后我在公司(局域网,通过同一个外网IP访问外部)部署了客户端,客户端能对服务器发送消息,但是服务器对客户端发消息时报错java.net.ConnectException: Connection refused: connect 

希望各位大神帮眼看看怎么解决

展开
收起
爱吃鱼的程序员 2020-06-09 16:23:19 687 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    看来lz还是不太了解TCP额。你可以像阿里云的服务器发送数据。主要是应为阿里云有公网IP已经不会封端口。阿里云不能办法访问你的内网。主要原因是应该你目前是躲在NAT(运营商的防火墙)后面。如果一定要阿里云主动访问你的内网的话。你看尝试使用UPnP做端口映射,不然你只能乖乖的使用TCP长链接做消息推送。还就是换过运营商(比如电信)有固定IP的。当然还有撒花生壳这样软件。就你一個回答,就给你吧。但是我还有一个奇怪的地方,是这样的:昨天的方法不行后我改成在阿里云上发布了一个web项目,布在了jetty服务器上,然后我通过内网的电脑访问链接,居然获取到了阿里云返回的消息,到底数据是怎么从阿里云通过公司外网传到我本地的啊!!!愁死我了

    2020-06-09 16:23:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载