【问题标题】:Client-Server in an Android ApplicationAndroid 应用程序中的客户端-服务器
【发布时间】:2013-09-10 16:48:18
【问题描述】:

我正在尝试创建一个本地 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 进行连接?感谢您的帮助。

【问题讨论】:

标签: java android sockets client rmi


【解决方案1】:

您需要了解一些网络背景知识...您可以使用 TCP 或 UDP 传输包。将 SOCKET 用于 TCP,将 DATAGRAM 用于 UDP,它比 TCP 快得多,但面向连接的更少。

在 Android 端使用 Threading 进行网络通信,否则会因阻塞 UI 线程而出错。

google 有很多例子 JAVA/ANDROID TCP/UDP server-client example

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多