有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我目前正在开发一个半简单的聊天应用程序。我希望用户能够在私人聊天中与其他人交流。只发送纯文本。目前,我的系统从网页调用php脚本,传入参数,然后解析返回的数据。我有它,这样客户端发送消息,在我的Web服务器上调用发送消息脚本,然后脚本在Web服务器上生成一个消息文件,然后将成功或失败返回给客户端。然后,为了让客户端查看此消息,它必须调用一个脚本来检查服务器上是否有消息文件,并为其发送消息。如果它找到了一条,它会发回消息,如果没有,它会发送一个关于没有消息的响应

除了客户端必须手动刷新以检查是否有消息,或者后台线程必须每隔几秒钟刷新一次之外,这种技术工作得非常好。这很好,但是如果用户在移动网络上,这将使用数据。更不用说,如果后台循环以方便的速度刷新,它将获取什么样的资源

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

不管怎样,我的问题是哪种技术更好。还是两者都很糟糕?如果是,正确的方法是什么?提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    如果数据量非常少。。每天发20-25条信息。。。您可以在服务器上使用REST API来传输实际的文本消息,也可以使用谷歌云消息来推送通知。。最近,我采用这种方式为我的一位朋友开发了私人聊天

  2. # 2 楼答案

    AngularJsAjax将是您的完美解决方案,请尝试学习

    对于实际的实时消息,请使用AngularJs