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
处理多个liveHisClient
?我知道,在这里,多重性不是问题,但如何让它们保持活跃并不断更新MyClient
?你为什么要花这么多时间重新发明轮子?使用web套接字维护100个连接并不困难。维持100万美元是不可能的。如果您需要一个事件系统,可以使用类似或的方法来分发事件。当然,你会在你的应用程序中添加几KB或MB。但是,您如何知道可以扩展您的解决方案
维护任何类型的连接都只是在等待可伸缩性噩梦。让事情耦合得不那么紧密,你会过得更好。你可以使用java servlet,你可以使用c#web套接字,我建议使用c#web Socket,因为它们更现代、更干净。c#API是什么,它如何维持实时流量?你可以先看一下这一点。是的,这就是我将如何实现Socket,但如何实现多个客户端并使它们保持活动状态?你所说的“使它们保持活动状态”到底是什么意思?我开发这个只是为了学习。我认为可伸缩性需要优化代码和大数据场。至少通过自己开发这样一个东西,我会学到代码优化。这就是我不想使用任何外部即用解决方案的基本原因。