`
liss
  • 浏览: 842230 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HTML_5_WebSocket_HTML 5 WebSocket 示例

阅读更多

我们通过一个简单的例子来熟悉 HTML 5 WebSocket。该例子服务端从 0 开始每秒递增一个整数并发送给客户端浏览器显示。准备:下载 Jetty 7 ,Java Web 开发环境,Chrome 4+ 。


服务端 Java 代码:
final public class CounterSocketServlet extends WebSocketServlet {

    @Override
    protected WebSocket doWebSocketConnect(final HttpServletRequest hsr,
                                           final String string) {
        return new CounterSocket();
    }

    final class CounterSocket implements WebSocket {

        private Outbound outbound;

        public void onConnect(final Outbound outbound) {
            System.out.println("onConnect");
            this.outbound = outbound;
        }

        public void onMessage(final byte frame, final String data) {
            System.out.println("onMessage");

            if (data.equals("Hello, Server!")) {
                new Thread() {

                    @Override
                    public void run() {
                        try {
                            outbound.sendMessage(frame, "Hello, browser :-)");

                            int i = 0;
                            while (true) {
                                sleep(1000);
                                outbound.sendMessage(frame, String.valueOf(i++));
                            }

                        } catch (final Exception e) {
                            System.err.println(e.getMessage());
                        }
                    }
                }.start();
            }
        }

        public void onMessage(final byte frame, final byte[] data,
                              final int offset, final int length) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

        public void onDisconnect() {
            System.out.println("onDisconnect");
        }
    }
}


浏览器客户端 HTML 代码:
<html>
    <head>
        <title>WebSoket Demo</title>
        <script type="text/javascript">
            if (!window.WebSocket) {
                alert("WebSocket not supported by this browser!");
            }
            
            function display() {
                var valueLabel = document.getElementById("valueLabel");
                valueLabel.innerHTML = "";
                var ws = new WebSocket(
                    "ws://localhost:8080/WebSocketDemo/counter-socket");
                ws.onmessage = function(evt) {
                    valueLabel.innerHTML = evt.data;
                };

                ws.onclose = function() {
                };

                ws.onopen = function() {
                    ws.send("Hello, Server!");
                };
            }
        </script>
    </head>
    <body onload="display();">
        <div id="valueLabel"></div>
    </body>
</html>

运行:

部署
将打包好的 WebSocketDemo.war 复制到 Jetty 安装目录:


 

 
启动 Jetty
C:\jetty-distribution-7.0.1.v20091125>java -jar start.jar
测试


 

进一步阅读:

HTML 5 规范
WebSockets 规范
WebSocket 协议
Jetty WebSocket Server

资源:

Chrome 最新开发版
Jetty 7
Resin 4

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/DL88250/archive/2010/01/01/5118301.aspx

分享到:
评论

相关推荐

    websocket_assistant.rar_MFC websocket_mfc+websocket_websocket_w

    5. **关闭连接**:当不再需要WebSocket连接时,确保正确关闭连接,释放相关资源。 6. **事件驱动编程**:在MFC中,通常会利用消息循环来处理来自WebSocket库的事件,这可能涉及到对MFC消息映射的修改。 在压缩包...

    websocket_for_linux-master_websocket_websocket客户端_WEBSOCKET单片机实现

    7. **示例代码和文档**:压缩包中可能包含了示例代码,帮助开发者理解如何在实际项目中使用此WebSocket客户端,还可能包含详细文档,解释如何编译、配置和运行。 在实际应用中,开发者需要根据单片机的具体型号和...

    Socket_WebSocket客户端程序v120.zip_packsu1_websocket_websocket 客户端_we

    在标签中,"websocket客户端"和"websocket客户端_html5"重申了程序的特性,强调了它是用于建立WebSocket连接的客户端实现,并且与HTML5环境兼容。"packsu1 websocket"可能是特定库或框架的一部分,专注于WebSocket的...

    websocket.zip_HTML5 聊天_WebSocket delphi_delphi websocket_delph

    WebSocket是HTML5中引入的一种新的网络通信协议,它提供了一种在客户端与服务器之间进行全双工、低延迟通信的方法,极大地改善了实时性要求高的Web应用。在本压缩包"websocket.zip"中,我们主要关注的是如何在HTML5...

    .NET Core WebSocket示例

    综上所述,".NET Core WebSocket示例"项目是一个实用的学习资源,涵盖了从启用WebSocket服务到实现客户端和服务器间通信的全部流程,对于理解WebSocket在ASP.NET Core中的应用非常有帮助。通过深入学习和实践,...

    C#WebSocket示例(初学者必备)

    在上述示例中,`websocketclient.html`可能是用于展示如何在网页端使用JavaScript与C# WebSocket服务器交互的代码。通常,HTML页面会使用WebSocket API(`WebSocket`对象)来创建与服务器的连接,并处理收发数据。 ...

    DelphiWebsockets-master.zip_delphi websocket_websocket_websocket

    2. **示例应用**:为了帮助开发者理解如何使用这些组件,可能会包含一些示例应用程序,展示了如何在Delphi程序中集成WebSocket功能,如创建连接、发送和接收消息等。 3. **文档**:可能有README文件或其他形式的...

    多人聊天_html5_nodejs_CSS3_websocket_

    这个项目以“多人聊天_html5_nodejs_CSS3_websocket_”为标题,显然它利用了现代Web技术来实现这样一个功能。让我们详细探讨一下这个项目所涉及的关键知识点。 首先,HTML5(超文本标记语言第五版)是构建Web页面的...

    WebSocket.zip_C# WebSocket_C++ websocket_websocket_工程管理

    这个“WebSocket.zip”压缩包包含的是一个使用C#语言实现WebSocket协议的示例项目,同时也涉及到C++ WebSocket的相关内容以及工程管理的实践。 在C#中实现WebSocket,通常会利用.NET Framework或.NET Core提供的...

    html5的websocket代码示例包括错误解决方案

    在这个"html5的websocket代码示例包括错误解决方案"的讨论中,我们将深入探讨WebSocket的基本用法,常见问题以及在Tomcat7环境下如何配置和使用WebSocket。 首先,WebSocket API是建立在TCP连接上的,它允许持久化...

    html页面测试websocket

    总的来说,这个“html页面测试websocket”项目为我们提供了一个简单的WebSocket客户端示例,展示了如何在HTML和JavaScript中使用WebSocket API与服务器进行双向通信。开发者可以基于这个基础,扩展出更复杂的应用,...

    .net websocket简单示例

    下面将详细介绍.NET中的WebSocket实现以及在给定的示例中需要注意的关键点。 首先,让我们从服务端开始。在.NET控制台程序中,我们可以创建一个WebSocket服务器,监听特定端口并处理连接请求。以下是一个简单的...

    weblogic websocket示例代码

    综上所述,这个"weblogic websocket示例代码"提供了一个在WebLogic中实现WebSocket通信的完整示例,包括服务器端点、客户端连接以及消息处理。通过学习和实践这个示例,开发者可以更好地理解如何在企业级环境中利用...

    websocket发送裸H264到Html5解码

    WebSocket是一种在客户端与服务器之间建立持久连接的...在提供的压缩包文件`H5WebSocket.rar`中,可能包含了实现这一功能的相关代码示例或教程,解压并学习这些内容可以进一步加深对WebSocket和HTML5视频解码的理解。

    Java版websocket示例

    客户端部分,本示例提供的`web.html`是一个简单的HTML页面,包含JavaScript代码来初始化WebSocket连接并发送/接收消息。JavaScript中的WebSocket对象用于与服务器通信,代码可能如下: ```html &lt;!DOCTYPE html&gt; ...

    Springboot+Websocket示例

    接下来,我们将按照以下步骤构建这个"Springboot+Websocket示例": 1. **设置项目依赖**:在`pom.xml`中添加`spring-boot-starter-websocket`和`spring-boot-starter-thymeleaf`依赖。Thymeleaf是一个模板引擎,...

    Html5 WebSocket c++实例

    8. **示例代码**:提供的实例代码可能包含一个简单的HTML页面,其中JavaScript部分负责创建WebSocket连接并处理消息;同时,C++服务端代码将展示如何监听连接,接收和发送数据。 9. **调试工具**:开发WebSocket...

    jetty html5 websocket服务器

    Jetty HTML5 WebSocket服务器是一种基于Java的轻量级Web服务器,它支持HTML5的WebSocket协议,使得实时双向通信成为可能。WebSocket是Web应用程序中的一个关键技术,它允许客户端和服务器之间建立持久连接,从而实现...

    qt websocket 客户端代码 简单的websocket的示例代码

    接下来,我们创建一个简单的WebSocket客户端示例: ```cpp #include #include #include #include class WebSocketClient : public QObject { Q_OBJECT public: WebSocketClient(const QUrl &url, QObject *...

Global site tag (gtag.js) - Google Analytics