java Socket C/S结构的简单通信
问题描述:本地运行 Server绑定 8080端口 client 采用 127.0.0.1可以访问
异地 用两台电脑 电脑A Server 绑定8080 电脑B运行 client 不能访问
解决办法局域网可以通过路由的端口绑定方式
原理:
基础ip信息
同一局域网内:电脑A被分配的IP为 192.168.2.168
电脑B被分配的IP为192.168.2.182(window下IPconfig)
将电脑BClient端的socket的host设置为 电脑A 的192.168,2.168
路由器端口映射
外网访问内网的端口进行通信:
需要具体设置路由器进行端口映射
此时将 电脑A 的 ip:port 192.168.2.182 :2080【按照如上图配置即可】
绑定到路由网关 IP:port 192.168.2.1 :2080 【不用实际操作】
访问 192.168.2.1 :8080 地址会自动 转发到 电脑A的 192.168.2.182 :8080,注意A的本地ip需要固定
额外解决Wireshark不能抓取数据的问题(window直接访问不经过网卡)
再用Wireshark抓包工具进行查看,就能看到数据包了
如果有用,给个赞呗!