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的更多相关文章

  1. iOS 使用node js 搭建简单的本地服务器

    一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node  js 资源.如果终止了运行,重启是不支 ...

  2. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

  3. 使用Node.js搭建静态资源服务器

    对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解.那就开始吧,让我们的双手沾满网络请求! Note: 当然在项目中如 ...

  4. 使用 Node.js 搭建 Web 服务器

    使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...

  5. Centos7 中 Node.js安装简单方法

    最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...

  6. 创建node.js一个简单的应用实例

    在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...

  7. node.js搭建Web服务器

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  8. Docker最全教程之使用Node.js搭建团队技术文档站(二十三)

    前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...

  9. 使用node+vue实现简单的WebSocket聊天功能

    最近学习了一下websocket的即时通信,感觉非常的强大,这里我用node启动了一个服务进行websocket链接,然后再vue的view里面进行了链接,进行通信,废话不多说,直接上代码吧, 首先, ...

随机推荐

  1. iOS页面传值-wang

    iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...

  2. xamarin学习之页面布局

    在android应中,需要注意3个文件,他们分别是:Main.axml,String.xml和Activity.cs. 1.布局文件Main.axml ,该文件保存在Resouses/layout的目 ...

  3. php-长文章分页函数

    <?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = ...

  4. XSS跨站脚本小结

    XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的一些标签,如<a><img>等. 参考链接:http://www.jb51.net/tools/ ...

  5. uva1635

    /* 哑元 组合数的递推整除判断_________________________________________________________________________________ #i ...

  6. css3 animation-fill-mode 对布局的影响

    问题描述:在小米手机上,animation-fill-mode设置为 both时,在手机上的web页面会超出屏幕宽度,出现滚动条. 解决方法:animation-fill-mode设为none. .p ...

  7. time 模块

    import time导入时间模块print(time.strftime("%Y-%m-%d %X"))其中 time.strftime("Y-%m-%d")输 ...

  8. sqlserver和Oracle内部的错误数据修复(DBCC、DBMS_REPAIR)

    数据库长时间运行后,因断电.操作系统.物理存储等的原因可能会造成数据库内部的逻辑或物理错误,我们可以使用一般的方式尝试修复. 对于sqlserver 我们可以使用DBCC命令: -- sqlserve ...

  9. asp.net gridview 鼠标悬浮提示信息

    使用场景: gridview绑定数据,某列数据太多,故超过一定字符,隐藏起来,同时鼠标移到指定列显示其明细信息: 知识点: 1,oderListTbl_DataBound事件中,添加,oderList ...

  10. Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能

    利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...