服务器端代码不超过42行:
const WSServer = require("./server.js");
var counter = 0;
function createWebsocket() {
var host = "127.0.0.1";
var port = "9999";
var wsServer = WSServer.startServer(host, port);
console.log("WebSocket server listens to: " + host + ":" + port);
wsServer.on('open', (data) => {
console.log('WS Client has connected: ' + data);
setInterval(function(){
counter++;
WSServer.broadcast("Jerry: " + counter );
}, 3000);
});
wsServer.on('dataWS', (data) => {
console.log('Receive Data from WebUI : ' + data);
});
wsServer.on('disconnect', (data) => {
console.log('WSServer disconnect:' + data.name);
});
wsServer.on('close', (data) => {
console.log('WSServer close: ' + data.name);
});
wsServer.on('end', (data) => {
console.log('WSServer Close: '+data.name);
});
wsServer.on('error', (data) => {
});
}
createWebsocket();
代码第10行创建一个WebSocket服务器,监听在9999端口上:
第15~18行每隔3秒发送一个字符串到浏览器,用一个计数器标识每次发送的请求。
代码里所需的server.js我已经上传到我的Github上了:
https://github.com/i042416/KnowlegeRepository/blob/master/practice/nodejs/server.js
使用nodejs启动这个服务器:
网页端代码:
<html>
<script src="socket.io.dev.js"></script>
<script>
console.log("1");
var socket = io('ws://127.0.0.1:9999');
socket.on('connect', function(){
console.log("connected!");
});
socket.on('event', function(data){
console.log("event: " + data);
});
socket.on('news', function(data){
console.log("data from server: " + JSON.stringify(data,2,2));
});
socket.on('disconnect', function(){
console.log("disconnect...");
});
</script>
</html>
浏览器端每隔三秒收到服务器推送的消息,打印在console上:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
接下来,我们需要创建一个WebSocket消息处理器,它是一个`@Controller`注解的类,用于接收和发送消息。使用`@MessageMapping`注解定义接收和发送消息的方法。 ```java @Controller public class GreetingController...
描述中的"一个最简单的websocket的HelloWorld"意味着这个压缩包可能包含了一个用于展示WebSocket基本用法的入门级代码示例。通常,"Hello, World!"程序是编程初学者的第一个教程,用于演示如何在新的编程语言或技术...
总结,"websocket-demo.zip"是一个SpringBoot实现WebSocket的示例,通过集成`spring-boot-starter-websocket`和`spring-websocket`,我们可以创建一个实时通信的WebSocket应用。该示例展示了如何配置WebSocket端点、...
node.js 的socket.io的使用,适合nodejs初学者,超精简的node.js websocket网页聊天室DEMO,虽然是很基础,但你至少得会配置nodejs,会敲hello world吧。
在本示例"WebSocketDemo"中,我们将探讨如何基于C++开源库websocketpp实现一个简单的WebSocket服务器,支持群聊功能。 WebSocket协议是HTTP/1.1协议的扩展,它使用ws/wss(非加密和加密)作为其URI方案。在C++中,...
1.netty入门 -- netty-helloworld 2.netty的粘包 - netty-stick 3.netty支持的各协议,包含messagepack、protobuf以及私有协议 - netty-protocol 4.netty开发httpserver服务 - netty-httpserver 5.netty开发...
**三、HelloWorld** 1. 创建一个项目目录,并在其中创建一个名为`demo.js`的文件。 2. 在`demo.js`中引入Express,并创建一个HTTP服务器监听8000端口。当访问`http://localhost:8000`时,服务器将返回“Hello World...
创建一个简单的 Tornado 应用非常直观,以下是一个基本的 "Hello, World!" 示例: ```python import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): ...
这段代码定义了一个简单的Controller,处理/hello的请求,返回"hello"视图名,通常对应的视图会显示"Hello, World!"这样的欢迎信息。 5. **视图解析** 视图解析器(如InternalResourceViewResolver)会将"hello...
在这个例子中,我们创建了一个监听8000端口的服务器,并设置了一个处理器`MyHandler`,当收到`/hello`的请求时,服务器返回"Hello, World!"。 接下来,讲解如何使用`HttpURLConnection`或`java.net.URL`发送HTTP...
- **Hello World**:简单的服务器和客户端,展示最基本的建立连接和发送数据的过程。 - **心跳机制**:实现客户端与服务器之间的定期心跳检测,确保连接的有效性。 - **多路复用**:展示如何在一个Channel上处理多个...
`express_socket_demo`是一个基于Express和Socket.IO的示例项目,它演示了如何在Web应用中实现群聊功能。Express是Node.js中广泛使用的Web框架,而Socket.IO则是一个强大的库,用于实现实时双向通信。下面我们将详细...
这个"SignalR .NET Core demo"是为初学者和开发者提供的一个实践项目,帮助他们理解如何在.NET Core环境中集成和使用SignalR。下面我们将深入探讨SignalR的核心概念、.NET Core的集成以及如何在实际项目中应用。 1....
这将在"/api"路径下提供一个简单的API,返回JSON格式的"Hello, World!"消息。 WebSocket支持是另一个值得注意的功能。EmbedIO提供了WebSocketModule,让你可以轻松地添加WebSocket服务,实现双向通信。这对于实时...
例如,你可以用以下方式编写一个简单的测试: ```java @Test public void testHelloAction() { running(fakeApplication(), new Runnable() { public void run() { Result result = route(fakeRequest(GET, "/...
Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现实时、双向通信。这个"socketio-demo"项目显然是一个示例,用于演示如何在Node.js环境中使用Socket.IO进行在线通信。下面我们将深入探讨...
这个例子创建了一个监听3000端口的服务器,当接收到请求时,会返回"Hello World"。 七、Express框架 在实际开发中,通常会使用Express这样的框架简化Node.js应用的构建。Express提供了一套简洁的路由和中间件机制,...
该软件包包含使用TLS,HTTPS和Websocket的安全... 创建一个包含单行的文件“ hello.js”; console.log(“ Hello world!”); 并运行它: $ node hello.js 那应该按预期工作。 检查以下示例代码: $ git clone
1. **Node.js基础**:介绍Node.js的基本概念、安装与配置,以及如何创建第一个"Hello, World!"程序。 2. **模块系统**:讲解Node.js的模块化设计,如`require`和`exports`,以及内置模块和第三方模块的使用。 3. **...
创建一个简单的Express应用只需几步: - 安装Express:`npm install express` - 创建app.js文件,引入Express并创建应用实例。 ```javascript const express = require('express'); const app = express(); ...