老子巨爱学习。
2021-11-08 09:22
采纳率: 66.7%
浏览 75
已结题

如何实现两台不同的主机上在Java环境中实现TCP通信

在一台电脑的eclipse环境中,可以实现客户端与服务端通信,但在两台电脑上客户端就连接不到服务器端,这是为什么?该怎么解决?

img


img

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 冰思雨 2021-11-08 10:18
    已采纳
    1. TCP通信是通过 IP地址+端口号 这个组合来完成的,localhost只表示本地IP,不能表示其他主机,Client不要使用localhost来连接服务端;
    2. 服务端要优先启动,没有服务端,客户端无法进行连接;
    3. 同一台主机上面,一个端口号只能绑定到一个进程当中(特殊设置除外),如果前一个进程没有结束,后一个进程是无法重复绑定相同端口的;
    4. 当前进程结束后,所绑定的端口会进行释放,但是,释放端口需要时间,TCP底层会有一个超时时间,超时后才会被回收。所以,重复绑定时可以等一会再试试;
    5. 主机上面有时候会有网络防火墙,(服务端)外部的入栈请求,需要配置防火墙,开放对应端口的入栈连接。
    评论
    解决 无用
    打赏 举报
  • 查看更多回答(4条)

相关推荐 更多相似问题