0

我正在尝试做一个本地 Java 服务器和一个连接到服务器的 Android 应用程序。我搜索了一下,发现我可以使用 WebSocket 来创建连接,但我没有找到任何关于 rmi 注册表的信息。我试图使用它,但我无法让它工作,所以我不得不使用 WebSocket 和这段代码

>               int port=2111;       
>               try {
>               ServerSocket servSock;
>               servSock = new ServerSocket(port);
>               System.out.println("[+] Server ready.");
>               
>               while(true) 
>               {
>                    //Assigns a new thread to any client connected
>                   Socket socket = servSock.accept();
>                   new MySocketServer(socket).start();
>               }
>           
>               }catch (IOException e) {
>                   e.printStackTrace();}

android应用程序也有类似rmi的东西,还是我必须使用WebSocket进行连接?谢谢您的帮助。

4

3 回答 3

0

为此,您需要进行一些网络背景研究...您可以使用 TCP 或 UDP 传输包。将 SOCKET 用于 TCP,将 DATAGRAM 用于 UDP,它比 TCP 快得多,但面向连接的更少。

在 Android 端使用 Threading 进行网络通信,否则您会收到阻塞 UI 线程的错误。

搜索谷歌有很多例子 JAVA/ANDROID TCP/UDP server-client example

于 2013-09-06T14:42:52.487 回答
0

你也可以使用http协议来实现长连接。还。MBaaS 平台有很多,例如 parse、stackMob。这些平台提供了很多开放的API,您可以直接调用这些API

于 2013-09-06T14:44:04.850 回答
0

尝试使用 Netty 框架 ( http://netty.io )。我在所有客户端-服务器编程中使用了很多。Netty 非常适合服务器端。对于 android,当服务器不需要推送通知时,我使用 HttpClient。如果您需要推送通知,请访问:https ://code.google.com/p/android-random/ (KeepAliveService)。这是一个好的开始。

于 2013-09-06T16:04:41.980 回答