【问题标题】:How to send data immediately when receiving from server to html page in a web application在Web应用程序中从服务器接收到html页面时如何立即发送数据
【发布时间】:2013-10-28 17:32:58
【问题描述】:

我正在尝试制作在线白板。 流程是:经理创建白板,客户输入经理的用户名进入他的白板。 因此,当客户端向服务器发送请求时,服务器将向管理器发送消息以通知客户端要连接。 我创建了一个 Java 类来处理这些请求:

class ReceiveRequest extends Thread{
  ...
  public void run(){
    while(true){
     message = DataInputStrem.readline();
     //JSONObject-jsonObj represents message
     jsonObj = JSONObject.fromObject(message);
     if(jsonObj.get("request").equals("connecting"))//a client wants to connect
     {
        System.out.println(jsonObj); //I can see the json object at console window
        //handle connecting request, how to display this request to the manager?
     }
    }
  }
}

那么,每次服务器发送连接请求时,如何在 html 页面 (DrawingBoard.html) 上显示客户端想要连接、接受或不接受的警告?这个java类不是一个servlet,所以我不能做设置请求属性和转发页面之类的事情...... 谢谢大家。

更多详细信息:我有一个网页可以让用户创建自己的白板或加入可用的白板。如果用户选择加入一个WB,向服务器发送一个请求,服务器将这个请求发送给这个WB的管理者。上面的类在客户端(Whiteboard Web 应用程序),它可以接收一个 JSONObject,代表想要加入现有 WB 的用户的请求(上面的 jsonObj 对象)。这个jsonobject有一个叫request的属性,如果这个属性等于“Connecting”就表示有用户想加入这个WB,所以想问一下这个通知怎么显示给这个WB的经理

【问题讨论】:

  • 为什么不使用socketsnode.js? (我知道这不是 java - 至少对于 node.js - 但我认为这对你想要实现的目标有好处)。
  • @Oscar:我只是在做我的客户端。我知道 node.js 和 websockets 看起来不错,但没有足够的时间来学习新技术。

标签: java multithreading servlets web-applications client-server


【解决方案1】:

请在您的问题中提供更多详细信息。

我可以假设 Whiteboard Manager 是一个应用程序,其 ServerSocket 在某个端口上侦听,而 Client 是一个应用程序,其客户端 Socket 将连接到该端口。当客户端连接到服务器上的端口时,服务器知道客户端已经连接,并且可以通过从这些套接字获得的 IO 流进行通信/数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2019-12-15
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多