Nodejs+socket.io 搭建个人的网页聊天室

Nodejs+socket.io 搭建个人的网页聊天室

最近看到别人搭建了自己的实时聊天室便产生了兴趣,于是乎自己也着手搭建了一个。在socket这里我选用了socket.io这个模块,在网上看了很多的博客不过还是一头雾水,于是上了socket.io的官网看了下soket.io的各个内置函数以及事件。网址:https://socket.io/get-started/chat/
虽然是英文的,不过慢慢看还是能够看懂的,看懂归看懂,实操才是真理。下面是实现过程
准备工作

  1. 首先服务器需要配置nodejs运行环境,安装教程百度
  2. 创建自己的项目文件夹,新建文件myserver.js和myclient.html
  3. 在当前项目目录下打开cmd 输入命令:npm init --yes,目录下会自动生成相关的package.jsonw文件
  4. 然后安装express 框架和socket.io模块:cmd下执行命令 npm install express socket.io --s
  5. 做好上面的工作后开始写服务端的代码,如下

服务器与前端实时通信实现关键点

  1. 从socket.io模块获取到的对象具有事件监听器以及触发器,通过服务器触发各种内置事件以及自定义事件实现信息的实时传输。
  2. 客户端要能够监听服务器所触发的事件,这样子服务器所触发的事件才能对客户端有影响(信息才能从服务器端发送到客户端)
  3. 客户端同样需要监听服务器的事件。
    话不多说上代码
    服务器端代码
//服务器端代码
//myserver.js
var app=require('express')(); 
var http=require('http').createServer(app);//将express框架注册到http服务器中
var io=require('socket.io')(http);//将http服务器注册到socket.io中,返回一个io对象,管控着所有的客户端与服务器的连接

var user=0;	//统计用户数量
var ip={
   };	//用户ip
var content="";	//保存用户发送的消息内容,这里可以保存到数据库中

app.get('/',(req,res)=>{
   	
	res.sendFile(__dirname+'/myclient.html');//将当前目录下的客户端文件发送到浏览器
})
http.listen(8080,function  () {
   //监听8080端口
console.log('listening 8080')
})
io.on('connection',(socket)=>{
     //监听用户连接,并返回一个socket对象(服务器与当前连接用户的socket对象)
    socket.emit('id',socket.id.toString().slice(0,5));	//获取用户id的前5位  
    user++; 			 //连接上socket用户+1
    var tem=socket.handshake.headers['x-forwarded-for'];//ip地  
    if
  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值