兄弟会精英班 - 学习笔记(十 二)

Nodejs 长连接net 和 Socket.io

  • OSI模型 / TCP / UDP 的概念和大致区别;
  • 长连接socket 和 短连接http 的区别;
  • Nodejs 提供 Net 模块提供用于终端的网络通讯,

var net = require('net');

  1. 创建server.js
    var net = require('net'); var server = net.createServer(function(connection){ connection.on('end', function(){ console.log('client disconnect'); }); connection.write('Hello world!\r\n'); connection.pipe(connection); }); server.listen(8080, function(){ console.log('Server is listening'); });
  2. 创建client.js
    var net = require('net'); var client = net.connect({port: 8080}, function() { console.log('连接到服务器!'); }); client.on('data', function(data) { console.log(data.toString()); client.end(); }); client.on('end', function() { console.log('断开与服务器的连接'); });

基于网页的WebSocket.

  1. 安装socket.io
  2. 编写服务端代码

var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.send('<h1>Welcome Realtime Server</h1>'); }); .....

  1. 编写客户端html代码
  • 引入socket.io文件
  • 客户端连接服务器的js代码

//连接websocket后端服务器 this.socket = io.connect('ws://172.16.0.254:3000'); //告诉服务器端有用户登录 this.socket.emit('login', {userid:this.userid,username:this.username}); //监听新用户登录 this.socket.on('login', function(o){ console.log(o); //处理 ... }); //监听用户退出 this.socket.on('logout', function(o){ console.log(o); //处理 ... }); //监听消息发送 this.socket.on('message', function(obj){ console.log(obj); //处理消息 ... });

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容