Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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
Javascript Android、TCP、Servlet——在没有外部库的情况下来回通信。标准的有效方法是什么?_Javascript_Java_Android_Sockets_Servlets - Fatal编程技术网

Javascript Android、TCP、Servlet——在没有外部库的情况下来回通信。标准的有效方法是什么?

Javascript Android、TCP、Servlet——在没有外部库的情况下来回通信。标准的有效方法是什么?,javascript,java,android,sockets,servlets,Javascript,Java,Android,Sockets,Servlets,我试图在这里构建的内容与此类似。 MyClients(Multiple) <------> Server(Me) <------> TheirClients(multiple, live) MyClient(多个)服务器(Me)及其客户端(多个,实时) MyClient1(HTML) 通过服务器(HTML->Servlet->Android) HisClient1(使用Android应用程序)(由MyClient1实时监控) HisClient2(使用Androi

我试图在这里构建的内容与此类似。

MyClients(Multiple) <------> Server(Me) <------> TheirClients(multiple, live)
MyClient(多个)服务器(Me)及其客户端(多个,实时)
  • MyClient1(HTML)

    通过服务器(HTML->Servlet->Android)

    • HisClient1(使用Android应用程序)(由MyClient1实时监控)
    • HisClient2(使用Android应用程序)(由MyClient1实时监控)
流:(可以同时在线拥有多个
MyClients
HisClints

  • 我的客户上线了

  • 及时ping客户端连接到服务器

  • 我的客户收到通知

  • MyClient通过服务器向他的客户端发送请求

  • 他的客户机通过服务器回复

  • MyClient已更新

HisClient
端,即
Android
,我正在运行
TCP Socket()
,以及时ping服务器并保持活动状态。无法使用
URLConnection
,因为如果服务器请求某些内容,客户端必须始终保持活动状态。另外,我不想使用任何外部库,因此
GCM
不是一个选项

MyClient
方面,我第一次尝试使用
PHP
,但它在处理多个live客户端时效率低下。然后,经过一番搜索,我知道在这种情况下,
servlet
是很好的。所以我开始开发一个
Servlet

现在的问题是:

我走的方向对吗?我的意思是,在这种情况下还有更好的办法吗?如果是,什么以及如何?我的意思是什么是API,它将如何维持实时流量


如果没有,您如何使用
Servlet
处理多个live
HisClient
?我知道,在这里,多重性不是问题,但如何让它们保持活跃并不断更新
MyClient

你为什么要花这么多时间重新发明轮子?使用web套接字维护100个连接并不困难。维持100万美元是不可能的。如果您需要一个事件系统,可以使用类似或的方法来分发事件。当然,你会在你的应用程序中添加几KB或MB。但是,您如何知道可以扩展您的解决方案


维护任何类型的连接都只是在等待可伸缩性噩梦。让事情耦合得不那么紧密,你会过得更好。

你可以使用java servlet,你可以使用c#web套接字,我建议使用c#web Socket,因为它们更现代、更干净。c#API是什么,它如何维持实时流量?你可以先看一下这一点。是的,这就是我将如何实现Socket,但如何实现多个客户端并使它们保持活动状态?你所说的“使它们保持活动状态”到底是什么意思?我开发这个只是为了学习。我认为可伸缩性需要优化代码和大数据场。至少通过自己开发这样一个东西,我会学到代码优化。这就是我不想使用任何外部即用解决方案的基本原因。