node.js 用socket实现聊天的示例代码

本文介绍了node.js 用socket实现聊天的示例代码分享给大家,也给自己留个笔记,具体如下:

服务器搭建

app.js

//创建一个服务
const server = http.createServer(express);

//监听服务端口
server.listen(8001,()=>{
console.log("服务端已经启动,请访问 http://localhost:8001");
});

express.js

rush:js;"> const url=require("url"); const fs=require("fs");

function express(req,res){
var urlObj=url.parse(req.url);
//console.log(urlObj);

var filePath="./www"+urlObj.pathname;
var content="not found";
if(fs.existsSync(filePath)){
content=fs.readFileSync(filePath);
}

res.end(content.toString());
}

module.exports=express;

index.html

rush:xhtml;"> <Meta charset="utf-8"/> Socket.IO chat
    <script src="js/lib/jquery-1.11.1.js"&gt;</script>
    <script src="js/lib/socket.io.js"&gt;</script> 
    <script src="js/index.js"&gt;</script>

客户端服务搭建与服务端通信

我们要建立服务端socket请求连接

rush:js;"> io.on('connection',function(socket){ console.log('a user connected');

//断开连接
socket.on('disconnect',function(){
console.log('user disconnected');
});
});

index.js

rush:js;"> //客户端建立连接 var socket = io(); 客户端向服务端发送请求 index.js

$('form').submit(function(){
//触发事件
socket.emit('chat message',$('#m').val());
$('#m').val('');
return false;
});

app.js

rush:js;"> //接收客户端的信息 socket.on('chat message',function(msg){ console.log('message: ' + msg); });

将服务端的数据广播到客户端去

rush:js;"> socket.on('chat message',function(msg){ console.log('message: ' + msg);
socket.<a href="https://www.jb51.cc/tag/bro/" target="_blank" class="keywords">bro</a>adcast.emit("clientE",msg);

});

客户端接收服务端广播出来的数据

rush:js;"> socket.on('clientE',function(msg){ $('#messages').append($('
  • ').text(msg)); });
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

    相关文章

    这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
    本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
    这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
    本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
    这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
    今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...