同一wifi下,安卓手机与linux虚拟机socket通信 5C

我在linux虚拟机上建立了socket服务器,物理机为windows10,在安卓上建立socket客户端,是在Android Studio上写的,准备进行简单的socket通信。
当我在Android Studio上用安卓模拟器时,可以成功通信并处理。但我导出apk,安装在实体安卓手机上的时候,就连接不上,而且我windows物理机和安卓手机是在同一wifi环境下的。
windows和linux虚拟机可以ping互通,两边防火墙都关了。
实体通信需要什么具体的条件吗,为什么安卓模拟器可以成功,实体就连不上了?
急求解答!!!

0

6个回答

虚拟机设置->网络适配器:改为桥接模式,linux虚拟机重新dhcp获取下IP(或者手动分配局域网段IP),就可以了。这个是IP不同网段的问题。
安卓模拟器可以访问是因为默认虚拟机NAT模式下,可以直接跟宿主机正常通讯。

1
qq_40939785
Eumenides-Z 回复itgather: 那还要改windows的ip吗,我windows的ip和linux虚拟机的ip并不是一个网段,但可以ping通,还是说手机和windows只要在同一个wifi下就行呢
一年多之前 回复
itgather
itgather 回复qq_40939785: 一定要改。因为你的手机是处在wifi局域网。主机模式意思就是只能跟你的宿主机通讯,所以你要做的就是让手机跟虚拟机服务处在同一网段就是了。
一年多之前 回复
qq_40939785
Eumenides-Z 我虚拟机是仅主机模式,一定要改成桥接吗?
一年多之前 回复

或许是没有在同一网段,可以在pc端共享一个网络,客户端连接后就可以进行连接通讯了

0

安卓模拟器本身在物理主机上会获得一个端口与外部通信,此时你在模拟器上的数据收发全是模拟器的数据收发,当你打包移植到别的物理设备此时主机,ip,端口都需要重新配置。你看下你的网络配置是不是代码写死

0

看一下虚拟机设置里的网络适配器是不是桥接模式,如果不是应切换为桥接模式,再配置Linux IP和手机在同一网段

0

检查一下路由器是否开了AP隔离模式。

0

网络模式改成桥接模式就行了,模拟器系统也是路由器的IP

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

3
各位大神好,请教一个android socket的问题
6
安卓与linux服务器进行socket通信错误:BrokenPipeError
2
Android作为Socket通信客户端的代码分析
6
Socket通信编程,客户端为Android,服务器端为Python
5
如何实现C# 与Lua的socket通信?
0
linux虚拟机 ,socket 通信实验,谁能把运行的结果截图下
3
手机创建的socket长连接可以维持多长时间
1
Linux C获取socket接收缓冲区使用量大小
1
C++中使用Socket通信,在服务器端,如何实现接收数据和发送数据在不同的线程中
1
Android socket连java服务器,Activity之间固定切换8次之后,链接中断
1
安卓 和python 服务端通信,安卓收不到服务端返回
1
当手机连上wifi后,之前以2G方式建立的socket还能继续使用吗,能同时存在一个2G的socket和一个wifi的socket
0
android客户端与qt服务端通过socket通信传图片的问题
1
socket连接预期之外掉线
0
socket连接运行一段时间后无法正常通信.
1
QT下多线程Tcp服务器,请问如何让不同的Socket线程互相通信?
0
p用python实现socket通信,多客户端接入,服务器与客户端交互数据
3
限定使用Socket通信,内存4G去传输10G的文本。并且读取过程需要换行,应该如何实现?
0
pyqt5 使用多线程进行socket通信,界面未响应后程序退出
0
要用Unity做一个网络通信的程序,Unity用Socket实现网络通信和用内置的 网络通信有什么区别吗?