我正在尝试使用本地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();}
是否有类似rmi的Android应用程序,或者我必须使用WebSocket进行连接?谢谢你的帮助。
答案 0 :(得分:0)
您需要进行一些网络背景研究......您可以使用TCP或UDP作为传输包。使用SOCKET for TCP和DATAGRAM for UDP比TCP快得多但面向连接的次数较少。
在Android端使用线程进行网络通信,否则会出现阻止UI线程的错误。
搜索谷歌有很多例子JAVA / ANDROID TCP / UDP服务器 - 客户端示例
答案 1 :(得分:0)
您还可以使用http协议来实现长连接。也。有很多MBaaS平台,如parse,stackMob。这些平台提供了许多开放API,您可以直接调用这些API
答案 2 :(得分:0)
尝试使用Netty框架(http://netty.io)。我用了很多客户端的serever编程。 Netty很适合服务器端。对于android,我没有从服务器请求推送通知时使用HttpClient。如果您需要推送通知,请访问:https://code.google.com/p/android-random/(KeepAliveService)。这是一个好的开始。