Web应用程序的两个客户端之间的通信

时间:2012-03-15 14:11:06

标签: java ajax servlets

我想说我想从一个客户端向另一个客户端发送消息。我该如何处理这个问题?显然我必须将此消息发送给服务器,但下一步是什么?我的想法很少,但每个想法似乎都是错的。

感谢

4 个答案:

答案 0 :(得分:3)

  1. Client1 - 将client2的消息发送到服务器
  2. Client2 - 检查消息的任何时间段
  3. OR

    1. Client2 - 打开服务器的Websocket。
    2. Client1 - 将client2的消息发送到服务器
    3. 服务器 - 将消息发送到client2
    4. 直接的客户端到客户端通信由于客户端防火墙而非常困难。

答案 1 :(得分:0)

查看java中的套接字教程

http://docs.oracle.com/javase/tutorial/networking/sockets/

此外,您不一定需要服务器。您可以让客户端同时拥有传入和传出通道,并以此方式执行。

所以

Client1将其传出发送到Client2的传入

Client2听到其传入并响应其传出给Client1的传入

Client1听到其传入的

答案 2 :(得分:0)

您可以使用标准Java JMS方法在应用程序之间发送异步消息。详情请见:http://java.sun.com/developer/technicalArticles/Ecommerce/jms/

答案 3 :(得分:0)

如果Web应用程序是指基于HTTP的,则必须知道HTTP是基于请求的协议。换句话说,服务器只响应来自客户端(浏览器,大多数时间)的HTTP请求,因此在客户端发送消息之后,所有其他想要接收该消息的客户端必须要求它,即make对服务器的请求。通常,这是使用自动刷新的HTML页面实现的。