使用socket.io实现简单的聊天功能(代码片段)

提提_qff 提提_qff     2022-11-01     472

关键词:

Socket.io实际上是WebSocket的父集,Socket.io封装了WebSocket和轮询等方法

首先得在你的项目中安装socket.io

$ npm install socket.io

服务端代码:

var app=require(http).createServer()
var io=require(socket.io)(app)
var PORT =5555;
var clientCount=0;

app.listen(PORT)

io.on(connection,function(socket)
    clientCount++
    socket.nickname=user+clientCount
    io.emit(enter,socket.nickname+ comes in)

    socket.on(message,function(str)
        io.emit(message,socket.nickname+ says: +str)
    )

    socket.on(disconnect,function()
        io.emit(leave,socket.nickname+ left)
    )
)

客户端代码:

<!DOCTYPE html>
<html>
<head>
    <mate charset=utf-8 />
    <title>websocket</title>
    <script src="socket.io.js"></script>
</head>
<body>
    
    <h1>chat room</h1>
    <input type="text" id=sendtxt />
    <button id=sendbtn>发送</button>
    <div id="recv"></div>
    <script type="text/javascript">
        var socket=io("ws://localhost:5555/");

        function showMessage(str,type)
            var div=document.createElement(div);
            div.innerHTML=str;
            if(type==enter)
                div.style.color=blue;
            else if(type==leave)
                div.style.color=red
            
            document.body.appendChild(div);
        

        document.getElementById(sendbtn).onclick=function()
            var txt=document.getElementById("sendtxt").value;
            if(txt)
                socket.emit(message,txt);
            
        

        socket.on(enter,function(data)
            showMessage(data,enter)
        )

        socket.on(message,function(data)
            showMessage(data,message)
        )

        socket.on(leave,function(data)
            showMessage(data,leave)
        )
        
    </script>
</body>
</html>

来自慕课网课程:

https://www.imooc.com/learn/861

如何使用koa实现socket.io官网的例子(代码片段)

socket.io官网中使用express实现了一个最简单的IM即时聊天,今天我们使用koa来实现一下###框架准备确保你本地已经安装好了nodejs和npm,使用koa要求node版本>7.6在你需要的位置新建一个文件夹(官网的简单命名为chat-example)进入项目... 查看详情

第二章补充(代码片段)

...将会:  1:简要介绍下Socket.IO,并确定要在服务器端使用的Socket.IO功能;  2:添加代码设置Socket.IO服务器;  3:添加代码处理各种聊天程序的事件;  Socket.IO提供了开箱即用的虚拟通道,所有程序不用吧每条消息都向... 查看详情

聊天功能插件socket.io(代码片段)

一、Socket.io是什么  是基于时间的实时双向通讯库  基于websocket协议的  前后端通过时间进行双向通讯  配合express快速开发实时应用二、Socket.io和ajax区别  基于不同的网络协议  ajax基于http协议,单向,实时获取... 查看详情

json简单的socket.io服务器,用于聊天式通信。(代码片段)

查看详情

详解如何使用koa实现socket.io官网的例子(代码片段)

socket.io官网中使用express实现了一个最简单的IM即时聊天,今天我们使用koa来实现一下利用socket.io实现消息实时推送框架准备1.确保你本地已经安装好了nodejs和npm,使用koa要求node版本>7.62.在你需要的位置新建一个文件夹(官网的... 查看详情

vue+socket.io实现一个简易聊天室

...用的深度。因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那么容易了。功能虽然不多,但还是有收获。设计和实现思路较为拙劣,恳请各位大大指正。可以达到的需求能查看在线用户列表能发送和接受消... 查看详情

基于socket.io+koa2+天行机器人实现简单人机实时通讯(nginx处理socket.iohttps代理问题)(代码片段)

...意的点需要处理开发环境的跨域问题、见代码由于服务器使用了https协议,所以客户端需要用wss。因为我用nginx进行https的转发,因此也需要在nginx上做同步配置(配置在下面)因为是点对点聊天,因此不是广播形式,用stea... 查看详情

使用socket.io打造公共聊天室(代码片段)

...经很完善的封装了socket相关API,所以无论是学习还是使用都是非常容易上手的,在这里强烈推荐!demo已经做好并放到我的个人网站了,大家可以试试,挺好玩的。  进去试试->  http://www.yinxiangyu.com:9000 (... 查看详情

使用 Socket.IO 和 NodeJS 实现音频聊天

】使用Socket.IO和NodeJS实现音频聊天【英文标题】:ImplementingAudiochatwithSocket.IOandNodeJS【发布时间】:2015-05-2207:09:57【问题描述】:我使用sails.js(node.js)和socket.IO创建了一个聊天应用程序。我需要同时实现audiochat和filetransfers。谁能... 查看详情

讨论:使用 node.js / socket.io 实现聊天室的最佳方式?

】讨论:使用node.js/socket.io实现聊天室的最佳方式?【英文标题】:Discussion:Bestwaytoimplementachatroomwithnode.js/socket.io?【发布时间】:2011-11-2018:49:48【问题描述】:我说的不是一般的聊天应用程序,而是专门讨论聊天室的实现。所以... 查看详情

使用androidnodejs和socket.io创建一个实时聊天应用程序(代码片段)

...聊天或通知系统等。在本文中,我们将向您展示如何使用androidnodeJs和Socket.io构建一个实时聊天应用程序入门我们的聊天应用分为两部分:1-服务器端& 查看详情

使用socket.io搭建一个实时聊天机器人(代码片段)

一、安装socket.ionpmisocket.io--save二、使用第一种:服务端使用原生node//创建http服务器consthttp=require('http')varfs=require('fs')constapp=http.createServer()app.on('request',(req,r 查看详情

socket.io 与私人房间聊天

】socket.io与私人房间聊天【英文标题】:socket.iochatwithprivaterooms【发布时间】:2011-11-1816:16:15【问题描述】:我开始研究node和socket.io。我已经创建了一个简单的聊天应用程序,我对它的简单程度感到惊讶。现在,我想更进一步,... 查看详情

感谢有“你”-------socket.io(代码片段)

我此前曾发过一遍文章有关于如何利用node.js+websocket搭建一个简单的多人聊天室有兴趣的朋友可以关注我的技术客栈---涛涛技术客栈。今天学习了websocket的一个框架---socket.io后瞬间感觉神清气爽,顿感从无尽的回调函数中解脱出... 查看详情

使用socket.io开发聊天室

前言Socket.IO是一个用来实现实时双向通信的框架,其本质是基于WebSocket技术。我们首先来聊聊WebSocket技术,先设想这么一个场景:·用户小A,打开了某个网站的充值界面,该界面上有一个付款的二维码。·当小A用某宝的APP扫码... 查看详情

node.jswebsocket使用socket.io库实现实时聊天室

认识websocketWebSocketprotocol是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duple)。一开始的握手需要借助HTTP请求完成。其实websocket并不是很依赖Http协议,它也拥有自己的一套协议机制,但在这里我们需要利用的socket... 查看详情

node.js笔记-使用socket.io构建websocket聊天室(代码片段)

先安装socket.ionpminstallsocket.io服务端代码:letapp=require('http').createServer();letio=require('socket.io')(app,cors:true);letport=3000;letclientCount=0;app.listen(port);io.on('connection',function(socket)clientCount++;socket.nickname&... 查看详情

何时使用 socket.io ?以及何时使用简单的 Http 调用? [复制]

】何时使用socket.io?以及何时使用简单的Http调用?[复制]【英文标题】:Whentousesocket.io?andwhentousesimpleHttpcalls?[duplicate]【发布时间】:2017-08-3122:15:07【问题描述】:我们正在用Angular2/NodewithExpress和Mongo+MySql开发一个项目它的应用程... 查看详情