Java 安卓应用赢得';t连接到';s以无线方式连接到网络

Java 安卓应用赢得';t连接到';s以无线方式连接到网络,java,android,sockets,Java,Android,Sockets,该应用程序使用套接字连接到计算机,但仅当计算机通过以太网电缆连接到网络时才会连接。我尝试过禁用防火墙,但这没有什么区别 计算机上服务器的代码: int port = 7936; while(true){ ServerSocket server = new ServerSocket(port); System.out.println("Waiting for client ..."); Socket client = server.accept(); System.out.pri

该应用程序使用套接字连接到计算机,但仅当计算机通过以太网电缆连接到网络时才会连接。我尝试过禁用防火墙,但这没有什么区别

计算机上服务器的代码:

int port = 7936;        

while(true){
ServerSocket server = new ServerSocket(port);
System.out.println("Waiting for client ...");
Socket client = server.accept();
System.out.println("Client from "+client.getInetAddress()+" connected");

InputStream in = client.getInputStream();
以及应用程序上客户端的代码:

Socket socket = new Socket(address,7936);
OutputStream out = socket.getOutputStream();
String action = "2";
byte[] actByte = action.getBytes();
out.write(actByte);
socket.close();
地址由用户输入定义,所需的所有权限都已在清单xml文件中设置。 谢谢你的帮助

编辑

很抱歉延迟回复给出的答案。从那以后,我就可以在不同的网络上尝试这个程序,它与无线连接的计算机一起工作,所以看起来问题出在网络上,而不是代码上


感谢大家的回答,很抱歉我花了这么长时间才回复。

正如其他人提到的,需要更多信息。当您断开计算机与有线连接的连接时,我假设它正在切换到wifi,并且您已验证您是否在线。如果您使用DHCP,那么您的计算机可能会获得不同的IP地址,因为接口发生了变化,MAC地址也不会发生变化


检查计算机上的地址并验证您的地址是否正确。

我的想法是,套接字未绑定到您认为的IP地址。您可能希望尝试使用该类,这样可以将其绑定到所需的IP地址(网络适配器)

在使用无线适配器时,您是否尝试过禁用服务器上的有线适配器?在客户端或服务器上是否出现错误?您应该提供更多详细信息:服务器操作系统、防火墙状态、@faceman所说的日志,等等。使用Windows?用
ipconfig
确认IP地址,用
netstat-an | find/i“listening”
确认监听服务。如果有什么不寻常的地方,就发布你的结果。