微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)); });
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐