聊天应用如何与其服务器通信?

时间:2015-07-14 22:18:09

标签: java php android client-server chat

我目前正在开发一个半简单的聊天应用。我希望用户能够在私人聊天中与其他人通信。只发送纯文本。目前我的系统从网页调用php脚本,传入参数然后解析返回的数据。我拥有它以便客户端发送消息,该消息在我的web服务器上调用发送消息脚本,然后脚本在Web服务器上创建消息文件,然后将成功或失败返回给客户端。然后,对于客户端查看此消息,它必须调用一个脚本,该脚本检查服务器以查找带有消息的消息文件。如果找到一个,它会将消息发回,如果没有,则发送一条关于没有消息的响应。

除了客户端要么必须手动刷新以检查他是否有消息,或者后台线程必须每隔几秒刷新一次,这种技术才能完美运行。那没关系,但是如果用户在移动网络上则可以使用数据。更不用说背景循环会以一种方便的速度刷新背景循环所带来的那种资源。

所以,我决定了第二个想法,这将是一个用Java编程的服务器,它将通过套接字进行通信。用户将通过套接字将消息作为数据包发送,服务器将检查它的用途。如果此人在线,则会将消息传递给该用户。然而,这种方法需要客户端和服务器之间的持续连接,这是不可靠的,因为如果用户在车内并且数据被切断,该怎么办。或者其他一些连接被切断的情况。然后它会抛出错误并且必须重新连接。

无论如何,我的问题是哪种技术更好。或者他们都很糟糕?如果是这样,这样做的正确方法是什么?提前谢谢。

2 个答案:

答案 0 :(得分:3)

AngularJs Ajax 将是您的完美解决方案,尝试学习

实际实时消息使用 AngularJs

答案 1 :(得分:1)

如果数据量非常少......每天20-25条消息......您可以在服务器上使用REST API来传输实际短信和Google云消息以推送通知。最近我按照这种方法来为我的一个朋友开发私人聊天。