Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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
如何使用套接字将Windows C#、Android和浏览器连接到一个数据库。(聊天应用程序)_C#_Android_Sockets_Browser - Fatal编程技术网

如何使用套接字将Windows C#、Android和浏览器连接到一个数据库。(聊天应用程序)

如何使用套接字将Windows C#、Android和浏览器连接到一个数据库。(聊天应用程序),c#,android,sockets,browser,C#,Android,Sockets,Browser,我正在为Windows桌面(C#)、Android(Java)和浏览器制作一个聊天应用程序。 确保在所有3个客户端中,用户即时发送和接收消息的最佳方式是什么? 我的意思是,有没有一种服务可以提供这一切? 到目前为止,我发现了GCM(谷歌云消息)和WebSockets,但似乎GCM和WebSockets一样,只是它是全自动的(我认为) 我的意思是,我可以每秒在所有客户机中调用刷新,但这似乎是一个巨大的资源浪费。 我想Browsr可以使用Ajax来获取最新的聊天信息 Android可以使用GCM 但

我正在为Windows桌面(C#)、Android(Java)和浏览器制作一个聊天应用程序。 确保在所有3个客户端中,用户即时发送和接收消息的最佳方式是什么? 我的意思是,有没有一种服务可以提供这一切? 到目前为止,我发现了GCM(谷歌云消息)和WebSockets,但似乎GCM和WebSockets一样,只是它是全自动的(我认为)

我的意思是,我可以每秒在所有客户机中调用刷新,但这似乎是一个巨大的资源浪费。 我想Browsr可以使用Ajax来获取最新的聊天信息

Android可以使用GCM

但是Windows能用什么呢?我从来没有真正正确地制作过Windows软件


有什么建议吗?

毫无疑问,您应该使用WebSocket。在聊天等服务中使用Ajax可能是一个糟糕的决定,因为每次您想知道是否有新消息时,都必须询问服务器,或者等待计时器执行此请求

对于浏览器(例如python或Java,但我想在所有技术中)应该有库可以帮助您

对于Android,我使用过Java Websocket Android,它工作起来很有魅力

Websocket在所有客户端(在您的情况下,在浏览器、Android应用程序和Windows之间)和服务器之间建立双向连接(我们可以称ir为始终打开的专用通道),每个人都通过其连接进行通信

为此,C#必须有自己的图书馆

请看一看,因为我认为这绝对是一个更好的选择


我希望我能帮助你!祝你好运

我必须为WebSocket使用云服务器吗?你应该这样做。服务器为您提供了许多您需要的服务(持久性、同步、聊天中的用户等)。我一直在开发一个应用程序,它在多个设备中显示相同的信息,但这些设备是由服务器同步的。我可以使用PHP套接字吗?此外,我没有资源租用云服务器,我应该使用什么框架来托管我自己的家庭服务器?(这是原型,所以现在不重要)我想你可以。在我的例子中,我开发了客户端(Android),并与Python(Tornado)服务器建立了连接。Websocket是一种协议,因此每种语言都必须有自己的实现,社区可能会开发库。如果你了解PHP,你可以在这里看到一个迷你教程:,但这是众多教程中的一个。。。依靠自己的能力和知识发展!祝你工作顺利!我刚开始研究socketo.me,它是一个PHP WebSocket库,似乎很容易使用,而且似乎还有关于如何使用Android连接到它的教程。