服务器端代码不超过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简单实例demo,代码编写简单,了解原理方便
【Android WebSocket】Android 端 WebSocket 基本用法 ( 添加依赖和权限 | 创建 WebSocketClient 客户端类 | 建立连接并发送消息 ) https://hanshuliang.blog.csdn.net/article/details/123628775 博客配套源码
用C#写的一个WebSocket后台,和两个客户端测试页面,IIS需要有WebSocket协议
spring_websocket在线聊天demo,可以一对一,也可广播群发。
此websocket demo是客户端是html写的。这是一个比较完善的项目demo,可以通过此demo学习怎么编写websocket项目
ASP.NET WebSocket聊天室demo.zip
基于 java的 多线程 即时通讯 消息推送的websocket小demo
websocket demo 简单实现
一个websocket的简单demo
java WebSocket 聊天室 demo
一个简单的java实现websocket的小demo,,查考博客http://blog.csdn.net/sunnylinner/article/details/52562583?locationNum=4&fps=1
websocket即时聊天简单例子
WebSocket 的入门Demo!
java websocket简单DEMO 注解齐全
spring+websocket+netty合作的demo,方便初学者快速入门学习
C#WebSocket客户端及服务端Demo,服务端采用SocketTCP通讯,WebSocket通讯与传统通讯的差异就是多了一些消息解析,详情见服务端源代码!
开发环境:tomcat7+jdk7+myeclipse; google以外的浏览器通过sockjs建立通信,兼容大多数浏览器;
最最简单的WebSocket demo 之前百度搜索都是springboot或者cloud 要么是js搭建的 索性自己写个springMVC整合的,省的以后从零接起来麻烦
WebSocket视频流播放demo
这是一份websocket的Demo,备注完善,简单易懂,适合初学者用来学习,源码是运行在eclipse上的,可自行转换。