websocket原本是html5下实现长链接的一个特性,当前已被众多浏览器支持。

在websocket协议中,首先通过http交换一次握手,明确将协议升级至websocket。同时建立一个TCP通道,以frame帧的方式交换数据。

在node环境下基本功能实现如下:

首先npm install socket.io

1、app.js,初始化socket.io

var srv = http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
}); var io = require('socket.io').listen(srv);
server.initServer(io);

2、server.js实现服务器端代码

exports.initServer = function(io){

    io.on('connection',function(socket){
console.log('connection');
socket.on('disconnect',function(msg){
console.log('disconnect');
}); socket.on('msg1',function(msg){
console.log(msg);
socket.emit('back',{key:'fredric&sinny'});
});
});
}

3、客户端代码

<!DOCTYPE html>
<html>
<head>
<script src = "socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:3000'); function sendmsg(){
console.log('start sendmsg');
socket.emit('msg1',{key:'fredric'});
} socket.on('back',function(msg){
alert(msg.key);
}); </script>
</head>
<body> <button type="button" onclick='sendmsg()'>Click Me!</button> </body>
</html>

浏览器端调试网络接口如下:

node(websocket)的更多相关文章

  1. node websocket学习研究

    websocket作为不同于http的数据传输方式,是开发一些实时系统的不二选择. 最近在研究开发websocket方面的小程序.小程序客户端直接对websocket做了封装.自己只要写后端就可以了. ...

  2. node+websocket创建简易聊天室

    关于websocket的介绍太多,在这就不一一介绍了,本文主要实现通过websocket创建一个简易聊天室,就是90年代那种聊天室 服务端 1.安装ws模块,uuid模块,ws是websocket模块 ...

  3. 基于WebSocket实现聊天室(Node)

    基于WebSocket实现聊天室(Node) WebSocket是基于TCP的长连接通信协议,服务端可以主动向前端传递数据,相比比AJAX轮询服务器,WebSocket采用监听的方式,减轻了服务器压力 ...

  4. node及socket.io实现简易websocket双向通信

    技术栈: vue2.0 + node + websocket( socket.io ) 1. 安装依赖 初始化vue项目后输入下方指令安装依赖包 // 推荐cnpm安装 npm i vue-socke ...

  5. websocket(二)——基于node js 的同步聊天应用

      https://github.com/sitegui/nodejs-websocket 1.用node搭建本地服务 npm install nodejs-websocket var ws = re ...

  6. php+websocket搭建简易聊天室实践

    1.前言 公司游戏里面有个简单的聊天室,了解了之后才知道是node+websocket做的,想想php也来做个简单的聊天室.于是搜集各种资料看文档.找实例自己也写了个简单的聊天室. http连接分为短 ...

  7. 初探WebSocket

    初探WebSocket node websocket socket.io 我们平常开发的大部分web页面都是主动'拉'的形式,如果需要更新页面内容,则需要"刷新"一个,但Slack ...

  8. Nodejs实现WebSocket通信demo

    一.创建websocket.js文件 步骤: 1.创建websocket.js文件,复制如下代码: 2.安装nodejs-websocket依赖: 3.该文件夹下命令行执行 node websocke ...

  9. 实现单台测试机6万websocket长连接

    本文由作者郑银燕授权网易云社区发布. 本文是我在测试过程中的记录,实现了单台测试机发起最大的websocket长连接数.在一台测试机上,连接到一个远程服务时的本地端口是有限的.根据TCP/IP协议,由 ...

随机推荐

  1. Asp.Net MVC4入门指南(8):给数据模型添加校验器

    在本节中将会给Movie模型添加验证逻辑.并且确保这些验证规则在用户创建或编辑电影时被执行. 保持事情 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(Don’ ...

  2. Centos版Linux 一些常用操作命令

    Linux命令收集 1.文件处理命令:ls 功能描述:显示目录文件 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 语法:  ls  选项[-ald]  [文件或目录] -a ...

  3. MySQL 5.6 & 5.7最优配置模板

    摘自:http://mp.weixin.qq.com/s?__biz=MjM5MjIxNDA4NA==&mid=207854835&idx=1&sn=c998031ae6816 ...

  4. 122. Best Time to Buy and Sell Stock(二) leetcode解题笔记

    122. Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price ...

  5. WinForm应用只运行一次

    一.WinForm应用只能运行一次 static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [ST ...

  6. MongoDB基本命令用

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表  show collections:显 ...

  7. iOS NSDate与NSString相互转化

    1.时间格式的字符串转date NSString *birthdayStr=@"1986-03-28 00:00:00.000"; NSDateFormatter *dateFor ...

  8. php socket解决方案

    最近一直在为移动应用提供 php服务端api,以前 实时交互数据需求不严格(定时从手机端发送http请求),现在业务需求变更, 需要实时交互式接口,必须增加socket. 服务端框架使用YII 1.1 ...

  9. vuejs 和 element 搭建的一个后台管理界面

    介绍: 这是一个用vuejs2.0和element搭建的后台管理界面. 相关技术: vuejs2.0:渐进式JavaScript框架,易用.灵活.高效,似乎任何规模的应用都适用. element:基于 ...

  10. serialize data use msgpack

    #ifndef _BYTEBUFFER_H #define _BYTEBUFFER_H #include <msgpack.hpp> typedef unsigned char uint8 ...