在电脑上使用猎豹免费wifi开热点,然后手机连上热点进行java的Socket编程,发现从手机向电脑发包,获取的包的IP地址并不是手机上显示的IP地址,而是电脑上的IP地址,端口号也不是我指定的端口,好像是随机的,求解!
这种情况可能是因为电脑上的热点设置了NAT(网络地址转换)功能,将手机的IP地址映射成了电脑热点的IP地址,同时将随机可用的端口号分配给了手机进行通信。解决这个问题可以尝试以下方法:
在电脑上关闭热点的NAT功能,具体方法可能因热点软件而异,请参考相关文档或者查找相应设置。
使用其他开源的软件来创建wifi热点,例如hostapd、create_ap等,这些软件通常不会强制开启NAT功能,可以提供更多个性化的配置选项。
直接在局域网内建立TCP/IP连接,不使用热点中转,可以直接使用电脑和手机的IP地址进行Socket通信。如果需要让手机通过互联网访问电脑上的服务,可以在电脑上配置端口转发或者使用VPN等技术实现。