node.js搭建简单的websocket
1、首先在官网http://www.nodejs.org/下载NODE.JS
2、打开命令行CMD,进入NODEJS\node_modules\的目录,输入npm install socket.io 安装socket.io模块.别急着关掉此CMD窗口,后面有用
3、搭建服务端代码server.js
var http = require('http');
var io = require('socket.io');
var cisserver = http.createServer(function (request, response) {
response.writeHead(200, { 'Content-Type': 'text/html' });
response.end('start!');
}).listen(8000);
var ccisSocket = io.listen(cisserver); //.set('log', 1);
ccisSocket.on('connection', function (client) {
client.on('message', function (data) {
console.log('client message', data);
client.emit('message', data);
client.on('disconnect', function () { console.log('disconnect') })
})
})
4、切换之前NODEJS的命令行窗口输入node server.js开启监听模式
5、客户端代码
<!DOCTYPE html>
<html>
<head>
<script src='http://localhost:8000/socket.io/socket.io.js'></script>
</head>
<body>
<script>
var HTML5WebSockets = {};
HTML5WebSockets.socketio = {
yoursocket: null, initialize: function () { HTML5WebSockets.socketio.yoursocket = io.connect('http://localhost:8000'); HTML5WebSockets.socketio.yoursocket.on('connect', function () {
HTML5WebSockets.socketio.log('You are connected to Server<br />');
HTML5WebSockets.socketio.yoursocket.send("目前有值");
}); HTML5WebSockets.socketio.yoursocket.on('message', function (data) {
//alert(data);
HTML5WebSockets.socketio.log('Server Response: ' + data + '<br />');
}); HTML5WebSockets.socketio.yoursocket.on('disconnect', function () {
HTML5WebSockets.socketio.log('You are disconnected from Server<br />');
}); document.querySelector('#sendMes').onclick = function () {
HTML5WebSockets.socketio.sendMessageToServer(document.getElementById("mes").value);
document.getElementById("mes").value = '';
}; },
sendMessageToServer: function (data) {
HTML5WebSockets.socketio.yoursocket.send(data);
HTML5WebSockets.socketio.log('Message to Server: ' + data + '<br />');
}, log: function (message) {
document.getElementById("log").innerHTML += message;
}
}
</script> <div id='log'></div>
<input type='text' id='mes' />
<button type='button' id='sendMes'>Send</button>
<br />
<script>
HTML5WebSockets.socketio.initialize();
</script>
</body>
</html>
7、运行HTML文件,输入值,等待服务端返回的结果
node.js搭建简单的websocket的更多相关文章
- iOS 使用node js 搭建简单的本地服务器
一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node js 资源.如果终止了运行,重启是不支 ...
- 使用 Node.js 搭建微服务网关
目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...
- 使用Node.js搭建静态资源服务器
对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解.那就开始吧,让我们的双手沾满网络请求! Note: 当然在项目中如 ...
- 使用 Node.js 搭建 Web 服务器
使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...
- Centos7 中 Node.js安装简单方法
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...
- 创建node.js一个简单的应用实例
在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...
- node.js搭建Web服务器
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...
- Docker最全教程之使用Node.js搭建团队技术文档站(二十三)
前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...
- 使用node+vue实现简单的WebSocket聊天功能
最近学习了一下websocket的即时通信,感觉非常的强大,这里我用node启动了一个服务进行websocket链接,然后再vue的view里面进行了链接,进行通信,废话不多说,直接上代码吧, 首先, ...
随机推荐
- 关于C语言的问卷调查(补交)
你对自己的未来有什么规划?做了哪些准备?(还是处于比较迷茫的状态:我做的准备是吧自己对计算机的兴趣提起来!) 你认为什么是学习?学习有什么用?现在学习动力如何?为什么?(学习就是学自己不会的东西:增加 ...
- iOS开发之cell多按钮
iOS开发经常出现cell需要多个按钮,一般以为要导入第三方框架.但其实iOS 8以后,系统提供了UITableViewRowAction以及新的delegate方法,使得自定义一些操作变得非常容易. ...
- ODBC与ADO 连SQL Server 2005
ADO是microsoft数据库应用程序开发的连连接口,是建立在OLE DB之上的高层 ADO使用方法步骤: 1.初始化COM库,引入ADO库定义 2.用connection对象连接数据库 3.利用连 ...
- SHOI 2009 会场预约 平衡树 STL练习
题目描述 PP大厦有一间空的礼堂,可以为企业或者单位提供会议场地.这些会议中的大多数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议的时间申请不能够冲突.也就是说,前一个 ...
- 【OpenGL】VAO与VBO
1.我们先了解什么是OpenGL对象(OpenGL Object) 根据OpenGL Wiki的定义: An OpenGL Object is an OpenGL construct that con ...
- js取整函数
1.丢弃小数部分,保留整数部分parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.fl ...
- Lua词汇约定
Lua的标识符包含数字,字母以及下划线,数字不能作为标识符的开头. and break do else elseif end false for function goto if in local n ...
- winform中button的image属性无法更改
在开发一个winform程序的时候,界面中的button的image本来有一个贴图A.后来我觉得不合适,打算换成贴图B. 但是这时问题出现了:虽然我改成了贴图B,在IDE中的预览也是贴图B,但是每次编 ...
- XML 增删查改
<?xml version="1.0" encoding="utf-8"?> <users> <person name=" ...
- Request.UrlReferrer
1:Request.UrlReferrer可以获取客户端上次请求的url,这样就可以实现类似“上一页”的功能等 2:刷新当前页面,不会改变Request.UrlReferrer的值 3:如果有A,B两 ...