Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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
Java Android应用程序与web浏览器的Socket通信_Java_Javascript_Android_Html_Sockets - Fatal编程技术网

Java Android应用程序与web浏览器的Socket通信

Java Android应用程序与web浏览器的Socket通信,java,javascript,android,html,sockets,Java,Javascript,Android,Html,Sockets,我的Android device+应用程序每隔几毫秒就不断发送数据,我希望在我用JavaScript/HTML构建的web浏览器应用程序上接收数据 在Android/Java应用程序中,我通过套接字执行以下操作: //Initialize, where PORT = local ip of my laptop with web server I guess. //and I choose an available port on my network, say 8080. echoSocket

我的Android device+应用程序每隔几毫秒就不断发送数据,我希望在我用JavaScript/HTML构建的web浏览器应用程序上接收数据

在Android/Java应用程序中,我通过套接字执行以下操作:

//Initialize, where PORT = local ip of my laptop with web server I guess.
//and I choose an available port on my network, say 8080. 
echoSocket = new Socket(HOST, PORT);
out = new PrintWriter(echoSocket.getOutputStream(), true);

//Sending data every few ms:
JSONObject j = new JSONObject();
j.put("x", params[0]);
j.put("y", params[1]);
j.put("z", params[2]);
String jString = j.toString();
out.println(jString);
所以我有类似于
{x:1.0023532,y:2.454234,z:6.234583}

在其他Java应用程序中,我通过让我的接收器应用程序在上面使用的特定
端口上创建一个
ServerSocket
来完成这种通信。然后,只要我的笔记本电脑有正确的本地IP地址,我就可以做
serverSocket=newserversocket(端口)

现在,如何在web应用程序(JavaScript/HTML)中接受这些数据?我听说过WebSocket,但不知道如何初始化和使用它——希望它非常简单


谢谢

我认为如果没有中间人(服务器),直接向浏览器发送数据是不可能的。如果您想创建一个快速、简单的服务器来来回ping数据,我会从NodeJs中得到一些乐趣。我从来没有机会使用过这些东西,但我确实玩得很开心。如果您只是在客户端之间来回ping数据,那么这可能是需要特别关注的问题

我刚才看了这段视频“”,他展示了一个基本的例子,和你所说的差不多。只是一个想法,加上它将是一个有趣和快速的实现


另一方面,如果您想将Node JS应用到实时服务器上,我相信amazonaws有一个Node JS实例。我很确定你可以免费安装一个微实例。

你是说你的接收数据的服务器只能运行html/javascript吗?我不能直接在浏览器中接收套接字数据吗?当然可以,但是你需要一个服务器与andoird应用程序通信,然后浏览器与服务器通信。我不相信你能用javascript运行服务器套接字。您需要像nodeJs、java或者php这样的东西(考虑到您发送的数据量,我会避免使用php)——如果您有语言偏好,我可以给您举个例子,如果您喜欢,我会考虑使用nodeJs。