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里面进行了链接,进行通信,废话不多说,直接上代码吧, 首先, ...
随机推荐
- iOS页面传值-wang
iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...
- xamarin学习之页面布局
在android应中,需要注意3个文件,他们分别是:Main.axml,String.xml和Activity.cs. 1.布局文件Main.axml ,该文件保存在Resouses/layout的目 ...
- php-长文章分页函数
<?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = ...
- XSS跨站脚本小结
XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的一些标签,如<a><img>等. 参考链接:http://www.jb51.net/tools/ ...
- uva1635
/* 哑元 组合数的递推整除判断_________________________________________________________________________________ #i ...
- css3 animation-fill-mode 对布局的影响
问题描述:在小米手机上,animation-fill-mode设置为 both时,在手机上的web页面会超出屏幕宽度,出现滚动条. 解决方法:animation-fill-mode设为none. .p ...
- time 模块
import time导入时间模块print(time.strftime("%Y-%m-%d %X"))其中 time.strftime("Y-%m-%d")输 ...
- sqlserver和Oracle内部的错误数据修复(DBCC、DBMS_REPAIR)
数据库长时间运行后,因断电.操作系统.物理存储等的原因可能会造成数据库内部的逻辑或物理错误,我们可以使用一般的方式尝试修复. 对于sqlserver 我们可以使用DBCC命令: -- sqlserve ...
- asp.net gridview 鼠标悬浮提示信息
使用场景: gridview绑定数据,某列数据太多,故超过一定字符,隐藏起来,同时鼠标移到指定列显示其明细信息: 知识点: 1,oderListTbl_DataBound事件中,添加,oderList ...
- Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能
利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...