草庐IT

android - BufferedReader 的错误使用

s=newScanner(newBufferedReader(newInputStreamReader(this.clientSocket.getInputStream())));while(s.hasNext()){System.out.println("Amintratinbuclas:");longitude=Integer.parseInt(s.next());System.out.println("Valoarelongitudine:"+longitude);latitude=Integer.parseInt(s.next());System.out.println(lat

java - 安卓端口转发

如何使用另一台设备的IP将端口从Android设备转发到路由器?我想从外部从android设备连接到路由器publicip:port以便我可以访问连接到路由器的硬件设备。(Android->外部IP:Port)->Router->hardwareDevice(硬件设备有自己的IP和mac)。代码:PortMappingmapping=newPortMapping();UnsignedIntegerTwoBytesexternalPort=newUnsignedIntegerTwoBytes(22555L);UnsignedIntegerTwoBytesinternalPort=newU

android - 完成应用程序时关闭套接字

我的应用程序有一些Activity,在第一个Activity中,我连接一个套接字以与其他Activity的服务器通信。此套接字在工作线程中运行。我的问题是:当应用程序完成时,我在哪里可以关闭这个套接字?例如使用后退按钮...我想在上一个Activity的onDestroy()中关闭套接字,但即使应用程序未完成,此Activity也可能在运行时被系统销毁并关闭套接字。我不想要这个。我的处理套接字连接的线程的run()方法是这样的:publicvoidrun(){if(this.bliveclient.isConnected()){try{//...while(running){//wai

android - Moto G5 Plus 无法通过 Socket 连接到本地服务器

我有一个应用程序,智能手机必须通过SSLSocket连接到本地服务器。我在5款不同的智能手机上测试了我的应用程序:MotoG2(6.0)、Redmi3S(6.0.1)、LGK5(6.0)、MotoG5Plus(7.1.1)和OnePlus5(8.0)。MotoG5Plus是唯一出现此问题的产品。这是导致问题行为的行。所有测试都在同一网络上完成。socket=(SSLSocket)sslContext.getSocketFactory().createSocket(serverAddress,serverPort);关于此行为,MotoG5Plus或Android7+是否存在任何已知问题

Android套接字连接超时

我的android应用程序通过套接字连接到服务器,套接字是在node.js中编码的。当留在前台15分钟时,它会失去与服务器的连接。下面是sockt连接到服务器的代码publicvoidconnect(){this.connectionStatus=CONNECT_STATUS_CONNECTING;Log.v(AppConstants.DEBUG_TAG,userId+":ConnectingtoServer");if(mThread!=null&&mThread.isAlive()){return;}mThread=newThread(newRunnable(){@Overridep

java - 如果我没有主动从 DatagramSocket 接收数据包,数据包会被丢弃吗?

我访问了很多网站和教程(和文档),但仍有一个问题没有得到解答。当我当前未运行socket.receive(...)时,如果UDP数据包到达,会发生什么情况?在我调用socket.receive(...)之前它会以某种方式缓冲还是完全丢失?另外,Android的DatagramSocket实现在意义上是线程安全的,您可以在监听时写入套接字,还是不写入? 最佳答案 内核网络堆栈为每个套接字保留一个接收缓冲区。您可以使用SO_RCVBUF控制它的大小setsockopt(2)的选项系统调用(您必须弄清楚它的JavaAPI是什么)。因此只要

java - 如何在不关闭 OutputStream 对象的情况下强制刷新它?

我的问题基于以下假设,我希望这些假设是正确的,因为我在谷歌搜索我的问题时阅读它们时相信这些假设:关闭套接字的OutputStream也会关闭套接字OutputStream的flush()方法什么都不做因此,我基本上需要以任何方式从我的OutputStream对象中清除数据,以便我的应用程序正常工作。如果您对详细信息感兴趣,请查看以下两个链接:.Weirdbehavior:sendingimagefromAndroidphonetoJavaserver(codeworking)此问题已通过关闭OutputStream得到解决。这样做会将所有数据刷新到套接字的另一端并使我的应用程序进一步工

android - 连接时套接字超时

我正在尝试在Android上实现一个tcp客户端应用程序。当我尝试连接到我的C++服务器时,套接字在尝试连接到服务器时超时。我的代码:newThread(newClientThread()).start();try{PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);out.println("Testmessage.");}catch(Exceptione){//ERROR1e.printStackTrace();}...classC

android - 使用模拟器作为服务器和客户端的两个应用程序之间的通信

我有一个问题。我想在我的计算机上制作一个模拟器作为服务器。然后我想与安装在同一台计算机上的另一个模拟器上的另一个应用程序进行通信。或者这也可能是两个手机。类似地,两个模拟器作为服务器客户端进行通信我在Google上进行了搜索,但没有找到相关答案。问题:1)我有两个模拟器或手机`2)我希望一个作为服务器,另一个作为客户端,我想他们之间的交流 最佳答案 对于同一虚拟(或真实)设备上的2个应用程序协同工作,除了常规Intent对象外,您还可以查看绑定(bind)服务和AIDL:http://developer.android.com/gu

android - 如何写一个Android SocketServer来监听wifi

我已经使用java.net.SocketServer编写了一个线程来监听特定端口。它在android模拟器中工作正常(使用端口转发)。我打算在使用该应用程序时通过wifi连接到此端口。但是,SocketServer文档指出,如果您不提供InetAddress,服务器将在本地主机上监听。如果我不提供地址,我将无法通过wifi连接,我是否正确?如何获取wifi连接的InetAddress以传递给SocketServer? 最佳答案 当您创建ServerSocket时,您会在localhost上监听一个端口。是否要提名自己的localho