Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从运行在android设备中的客户端连接到tcp服务器_Android_Networking_Network Programming - Fatal编程技术网

从运行在android设备中的客户端连接到tcp服务器

从运行在android设备中的客户端连接到tcp服务器,android,networking,network-programming,Android,Networking,Network Programming,我正在尝试从android设备中的tcp客户端应用程序连接到独立的桌面tcp服务器Java 但我无法连接到这一点 我尝试编写一个桌面tcp客户端,并尝试连接到服务器远程服务器。它工作得很好 但当我尝试从android连接时,我在创建套接字实例时遇到IOException 有人能帮我吗?提前感谢……我在回答我自己的问题: 现在,我可以从Android设备上运行的客户端连接到PC上运行的服务器 问题是, 运行在PC中的服务器连接到的IP N/W与手机使用的Wi-Fi N/W不同。所以,即使我在客户机

我正在尝试从android设备中的tcp客户端应用程序连接到独立的桌面tcp服务器Java

但我无法连接到这一点

我尝试编写一个桌面tcp客户端,并尝试连接到服务器远程服务器。它工作得很好

但当我尝试从android连接时,我在创建套接字实例时遇到IOException


有人能帮我吗?提前感谢……

我在回答我自己的问题:

现在,我可以从Android设备上运行的客户端连接到PC上运行的服务器

问题是,

运行在PC中的服务器连接到的IP N/W与手机使用的Wi-Fi N/W不同。所以,即使我在客户机中提供相同的IP地址来连接到服务器,它也无法连接,因为IP地址与IP N/W相对应

所以,如果我们对服务器使用相对IP,我们需要确保运行服务器和客户端的设备都应该通过相同的IP N/W连接


这是一个愚蠢的问题、愚蠢的错误和愚蠢的回答

好的。。。目前,我们正在通过每n秒检查一次连接来实现这一点

Timer.scheduleAtFixedRate( new TimerTask() {
public void run() {
.....
}
}

但是,我仍然想知道是否有任何方法,比如在套接字连接丢失时获得回调…

大家好,我需要知道一件事。我需要继续检查插座是否完好,它是否还活着。为此,我一直在向服务器的扩展流写入1字节的数据。有了这个,我可以监控连接。但我把它保持在无限循环中,因为我需要永远检查它。它正在消耗更多的CPU周期。有没有办法检查连接状态?提前谢谢,你应该自己回电话。套接字关闭时,socket.getInputStream.read将返回-1,因此当“读取线程”遇到此情况时,可以调用自己的回调。但是,是的,我希望这样的回调有时也内置:。嗨,谢谢你的评论,问题是在空闲模式下如果我想检查套接字状态,我不能从服务器读取socket.getInputStream.read,因为它可能不会在空闲模式下向发送任何内容。因此,我使用socket.getOutputStream.write进行写入,同时可以检查套接字状态。但仍然使用这种方法,我在N/W上产生了不必要的流量,我的应用程序消耗了更多的CPU。我已经看到一个API socket.isConnected,但不幸的是,当我关闭服务器端的套接字连接时,它给出了正确的结果。如果您遇到任何解决方案,请告诉我。谢谢