博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的nodejs群聊天通讯
阅读量:6433 次
发布时间:2019-06-23

本文共 1945 字,大约阅读时间需要 6 分钟。

nodejs实现局域网聊天通信

介绍

这几天比较轻松,好长时间没有用node做效果了,所有就做了一个群聊天通信的效果,用的是soctetio
效果图

图片描述

搭建web服务器

app.js

//引入核心模块const http = require("http");//自己的模块const express = require("./express");//创建一个服务const server = http.createServer(express);//监听服务端口server.listen(9999,()=>{    console.log("服务端已经启动,请访问 http://localhost:9999");});

express.js

const url = require("url");const fs = require("fs");function express(req,res){    //获取用户响应的信息同时转换URL对象    var urlObj = url.parse(req.url);    //读取用户响应路劲    var filePath = "./user"+urlObj.pathname;    var content = "路劲不对,正确的是index.html"    //判断读文件existsSync    if(fs.existsSync(filePath)){        content = fs.readFileSync(filePath);    }        //给服务端发出响应同时将二进制转换成toString    res.end(content.toString());    }//导出 module.exports = express;

index.html

    
聊天系统

这样我们一个简单的web服务器就搭建完毕了

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

效果

图片描述

首先我们要引入socketio

app.js

var io = require('socket.io')(server);
接下来我们要建立服务端socket请求连接
io.on('connection', function(socket){    console.log('a user connected');});
有了建立连接必然有断开连接
//断开连接socket.on('disconnect', function(){    console.log('user disconnected');});
下面我们自己创建一个js文件,我创建了一个index.js,用来写客户端建立连接的代码
//客户端建立连接 var socket = io();
在通讯的时候我们必须要在HTML里面引入下面2个js文件,一个是自己创建的,一个是socketio的
效果

图片描述

这做完这些以后,我们的通信就成功了

完善

首先我们先做一下客户端向服务端发送请求

我们需要在客户端写一个触发事件,当事件触发,服务端就会接收到这个事件
效果

图片描述

在这之前我们需要引入jquery.js

HTML页面

index.js

$('form').submit(function(){    //触发事件    socket.emit('chat message', $('#m').val());    //情况文本中的内容    $('#m').val('');    //阻止事件默认行为    return false;});
服务端接收事件

app.js

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

接下来服务端接收到客户端发来的请求后在返回到客户端

效果

图片描述

首先我们需要将服务端的数据广播到客户端去
app.js
//将服务端的消息广播到客户端socket.broadcast.emit("guangbo",msg);
接下来我们客户端需要接收服务端广播出来的数据
index.js
//接收服务端发来的消息socket.on('guangbo', function(msg){    $('#messages').append($('
  • ').text(msg));});
  • 这样我们的一个简单的群聊天功能就实现了,想要加好看的效果可以自己家

    完整代码

    想要完整代码的朋友可以去我的GitHub上面去看

    朋友们看都看完了,也不再这一点上面,不要吝啬自己的点击,帮忙点赞和收藏谢谢!

    转载地址:http://agxga.baihongyu.com/

    你可能感兴趣的文章
    flask 2 进阶
    查看>>
    sentences in movies and teleplays[1]
    查看>>
    【20181023T1】战争【反向并查集】
    查看>>
    win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
    查看>>
    iOS9 未受信任的企业级开发者
    查看>>
    paper 40 :鲁棒性robust
    查看>>
    优化MySchool数据库(事务、视图、索引)
    查看>>
    使用笔记:TF辅助工具--tensorflow slim(TF-Slim)
    查看>>
    大话设计模式读书笔记3——单例模式
    查看>>
    实验三
    查看>>
    Vue 项目构建
    查看>>
    [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
    查看>>
    android studio adb
    查看>>
    框架源码系列二:手写Spring-IOC和Spring-DI(IOC分析、IOC设计实现、DI分析、DI实现)...
    查看>>
    asp.net编译 懒人脚本
    查看>>
    二分答案经典入门题:)
    查看>>
    为什么你需要将代码迁移到ASP.NET Core 2.0?
    查看>>
    Servlet的多线程和线程安全
    查看>>
    存储树形的数据表转为Json
    查看>>
    CAN 总线通信控制芯片SJA1000 的读写
    查看>>