我们通过一个简单的例子来熟悉 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
分享到:
相关推荐
5. **关闭连接**:当不再需要WebSocket连接时,确保正确关闭连接,释放相关资源。 6. **事件驱动编程**:在MFC中,通常会利用消息循环来处理来自WebSocket库的事件,这可能涉及到对MFC消息映射的修改。 在压缩包...
7. **示例代码和文档**:压缩包中可能包含了示例代码,帮助开发者理解如何在实际项目中使用此WebSocket客户端,还可能包含详细文档,解释如何编译、配置和运行。 在实际应用中,开发者需要根据单片机的具体型号和...
在标签中,"websocket客户端"和"websocket客户端_html5"重申了程序的特性,强调了它是用于建立WebSocket连接的客户端实现,并且与HTML5环境兼容。"packsu1 websocket"可能是特定库或框架的一部分,专注于WebSocket的...
WebSocket是HTML5中引入的一种新的网络通信协议,它提供了一种在客户端与服务器之间进行全双工、低延迟通信的方法,极大地改善了实时性要求高的Web应用。在本压缩包"websocket.zip"中,我们主要关注的是如何在HTML5...
综上所述,".NET Core WebSocket示例"项目是一个实用的学习资源,涵盖了从启用WebSocket服务到实现客户端和服务器间通信的全部流程,对于理解WebSocket在ASP.NET Core中的应用非常有帮助。通过深入学习和实践,...
在上述示例中,`websocketclient.html`可能是用于展示如何在网页端使用JavaScript与C# WebSocket服务器交互的代码。通常,HTML页面会使用WebSocket API(`WebSocket`对象)来创建与服务器的连接,并处理收发数据。 ...
2. **示例应用**:为了帮助开发者理解如何使用这些组件,可能会包含一些示例应用程序,展示了如何在Delphi程序中集成WebSocket功能,如创建连接、发送和接收消息等。 3. **文档**:可能有README文件或其他形式的...
这个项目以“多人聊天_html5_nodejs_CSS3_websocket_”为标题,显然它利用了现代Web技术来实现这样一个功能。让我们详细探讨一下这个项目所涉及的关键知识点。 首先,HTML5(超文本标记语言第五版)是构建Web页面的...
这个“WebSocket.zip”压缩包包含的是一个使用C#语言实现WebSocket协议的示例项目,同时也涉及到C++ WebSocket的相关内容以及工程管理的实践。 在C#中实现WebSocket,通常会利用.NET Framework或.NET Core提供的...
在这个"html5的websocket代码示例包括错误解决方案"的讨论中,我们将深入探讨WebSocket的基本用法,常见问题以及在Tomcat7环境下如何配置和使用WebSocket。 首先,WebSocket API是建立在TCP连接上的,它允许持久化...
总的来说,这个“html页面测试websocket”项目为我们提供了一个简单的WebSocket客户端示例,展示了如何在HTML和JavaScript中使用WebSocket API与服务器进行双向通信。开发者可以基于这个基础,扩展出更复杂的应用,...
下面将详细介绍.NET中的WebSocket实现以及在给定的示例中需要注意的关键点。 首先,让我们从服务端开始。在.NET控制台程序中,我们可以创建一个WebSocket服务器,监听特定端口并处理连接请求。以下是一个简单的...
综上所述,这个"weblogic websocket示例代码"提供了一个在WebLogic中实现WebSocket通信的完整示例,包括服务器端点、客户端连接以及消息处理。通过学习和实践这个示例,开发者可以更好地理解如何在企业级环境中利用...
WebSocket是一种在客户端与服务器之间建立持久连接的...在提供的压缩包文件`H5WebSocket.rar`中,可能包含了实现这一功能的相关代码示例或教程,解压并学习这些内容可以进一步加深对WebSocket和HTML5视频解码的理解。
客户端部分,本示例提供的`web.html`是一个简单的HTML页面,包含JavaScript代码来初始化WebSocket连接并发送/接收消息。JavaScript中的WebSocket对象用于与服务器通信,代码可能如下: ```html <!DOCTYPE html> ...
接下来,我们将按照以下步骤构建这个"Springboot+Websocket示例": 1. **设置项目依赖**:在`pom.xml`中添加`spring-boot-starter-websocket`和`spring-boot-starter-thymeleaf`依赖。Thymeleaf是一个模板引擎,...
8. **示例代码**:提供的实例代码可能包含一个简单的HTML页面,其中JavaScript部分负责创建WebSocket连接并处理消息;同时,C++服务端代码将展示如何监听连接,接收和发送数据。 9. **调试工具**:开发WebSocket...
Jetty HTML5 WebSocket服务器是一种基于Java的轻量级Web服务器,它支持HTML5的WebSocket协议,使得实时双向通信成为可能。WebSocket是Web应用程序中的一个关键技术,它允许客户端和服务器之间建立持久连接,从而实现...
接下来,我们创建一个简单的WebSocket客户端示例: ```cpp #include #include #include #include class WebSocketClient : public QObject { Q_OBJECT public: WebSocketClient(const QUrl &url, QObject *...