iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >node.js 用socket实现聊天的示例代码
  • 309
分享到

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

示例代码node 2022-06-04 17:06:32 309人浏览 安东尼
摘要

本文介绍了node.js 用Socket实现聊天的示例代码,分享给大家,也给自己留个笔记,具体如下: 服务器搭建 app.js const Http = require("http"); const

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

服务器搭建

app.js


const Http = require("http");
const express = require("./express");

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

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

express.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


<!DOCTYPE html>
<html lang="en">
  <head>
   <meta charset="utf-8"/>
    <title>Socket.IO chat</title>
    <style>
     * { margin: 0; padding: 0; box-sizing: border-box; }
     body { font: 13px Helvetica, Arial; }
     fORM { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
     form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
     form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
     #messages { list-style-type: none; margin: 0; padding: 0; }
     #messages li { padding: 5px 10px; }
     #messages li:nth-child(odd) { background: #eee; }
    </style>
   </head>
   <body>
    <ul id="messages"></ul>
    <form action="">
     <input id="m" autocomplete="off" /><button>Send</button>
    </form>

    <script src="js/lib/Jquery-1.11.1.js"></script>
    <script src="js/lib/socket.io.js"></script> 
    <script src="js/index.js"></script>
   </body>
</html> 

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

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


io.on('connection', function(socket){
  console.log('a user connected');

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

index.js


//客户端建立连接 
var socket = io(); 
客户端向服务端发送请求
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);
}); 

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


socket.on('chat message', function(msg){
    console.log('message: ' + msg);

    socket.broadcast.emit("clientE",msg);
  }); 

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


socket.on('clientE', function(msg){
  $('#messages').append($('<li>').text(msg));
}); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: node.js 用socket实现聊天的示例代码

本文链接: https://www.lsjlt.com/news/12342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)
    一、前言 我用的是面向对象写的,把界面功能模块封装成类,然后在客户端创建对象然后进行调用。好处就是方便我们维护代码以及把相应的信息封装起来,每一个实例都是各不相同的。 所有的界面按钮...
    99+
    2024-04-02
  • Java实现NIO聊天室的示例代码(群聊+私聊)
    目录功能介绍文件UtilsFinalValueMessageNioServerNioClient功能介绍 功能:群聊+私发+上线提醒+下线提醒+查询在线用户 文件 U...
    99+
    2024-04-02
  • Node.js用Socket.IO做聊天软件的实现示例
    目录效果index.html文件index.js实现方法效果 index.html文件 该页面主要是渲染聊天界面 <!DOCTYPE html> <html>...
    99+
    2024-04-02
  • Qt实现网络聊天室的示例代码
    目录1. 效果演示2. 预备知识2.1 QTcpServer2.2 QTcpServer信号2.3 QTcpSocket2.4 QTcpSocket信号3. 通信流程3.1 服务器端...
    99+
    2024-04-02
  • Vue3+NodeJS+Soket.io实现实时聊天的示例代码
    目录前言前端部分样式搭建socket.io-client后端部分总结前言 要想实现一对一实时聊天,我们需要使用 websocket 协议,目前流行的浏览器都支持这个协议。 node....
    99+
    2024-04-02
  • Java Socket实现聊天室附1500行源代码
    目录项目需求分析基础分析项目部分代码摘要Dao的链表存储实现ServerListenServerReceive再看一下客户端的ClientReceive项目问题选择框中出现的不是用户...
    99+
    2024-04-02
  • SpringBoot+Netty实现简单聊天室的示例代码
    目录一、实现1.User类2.SocketSession类3.SessionGroup4.WebSocketTextHandler类5.WebSocketServer类6.index...
    99+
    2024-04-02
  • Node.js+express+socket实现在线实时多人聊天室
    本文实例为大家分享了Node.js+express+socket实现在线实时多人聊天室的具体代码,供大家参考,具体内容如下 文件结构如下: 前端部分: 登录页面Login部分: l...
    99+
    2024-04-02
  • 基于Socket.IO实现Android聊天功能代码示例
    一、简述Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。该种官方介绍看起来有点懵逼,简而...
    99+
    2023-05-30
    android socket.io roi
  • uniapp模仿微信实现聊天界面的示例代码
    目录项目演示前言主界面chat.vue中引入的js文件chat.vue中引入的组件submit.vue中引入的组件最后项目演示 前言 我是看B站的视频一个一个敲的,讲的还不错。可以...
    99+
    2024-04-02
  • Springboot+WebSocket实现一对一聊天和公告的示例代码
    1.POM文件导入Springboot整合websocket的依赖 <dependency> <groupId>...
    99+
    2024-04-02
  • Node.js+express+socket怎么实现在线实时多人聊天室
    本文小编为大家详细介绍“Node.js+express+socket怎么实现在线实时多人聊天室”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js+express+socket怎么实现在线实时多人聊天室”文章能帮助大家解决疑惑,下...
    99+
    2023-06-17
  • WPF+ASP.NET SignalR实现简易在线聊天功能的示例代码
    目录涉及知识点什么是ASP.NET SignalR在线聊天整体架构ASP.NET SignalR在线聊天服务端1. 创建ASP.NET Web API项目2. 创建消息通知中心Hub...
    99+
    2024-04-02
  • unity使用socket实现聊天室功能
    本文实例为大家分享了unity使用socket实现聊天室的具体代码,供大家参考,具体内容如下 unity聊天室服务端实现 using System; using System.C...
    99+
    2024-04-02
  • Node.js制作聊天室的代码怎么写
    这篇文章主要介绍了Node.js制作聊天室的代码怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js制作聊天室的代码怎么写文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • C#基于Socket的TCP通信实现聊天室案例
    本文实例为大家分享了C#基于Socket的TCP通信实现聊天室的具体代码,供大家参考,具体内容如下 一、Socket(套接字)通信概念 套接字(socket)是通信的基石,用于描述I...
    99+
    2024-04-02
  • python实现socket简单通信的示例代码
    首先先来简单介绍下socket: (具体更详细介绍的可以在网上找找,都讲得非常详细),这里主要是我自己的一些理解。 socket是在应用层与传输层之间的一个抽象层,它的本质是编程接...
    99+
    2024-04-02
  • JAVA中如何使用Socket 实现聊天功能?带具体代码说明
    Java Socket 是 Java 标准库中用于网络编程的一种方式,通过 Socket 实现可以在不同的计算机之间进行数据传输。在聊天应用中,Socket 可以用来建立客户端和服务器之间的连接,实现用户之间的聊天交流。 一、建立服务器端 ...
    99+
    2023-09-11
    java 服务器 servlet
  • 使用socket实现网络聊天室和私聊功能
    使用socket技术实现网络聊天室和私聊功能,具体内容如下话不多说先上图:聊天室群聊页面在线用户的联系人列表socket连接页面私聊页面项目介绍与服务端实现socket连接:每个客户端连接到服务器的时候,服务器会将每个连接的socket保存...
    99+
    2023-05-30
    socket 聊天室 私聊
  • node.js实现身份认证的示例代码
    请问昨天结束的早是对堆积在了今天吗,今天还来加个班更博,看在这个毅力的份上能否给亿点点推荐。 有个好消息有个坏消息,先说坏消息吧,就是在这么学下去我急需急支糖浆,来回顾回顾前面的知识...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作