nodejs socket.io
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs socket.io相关的知识,希望对你有一定的参考价值。
今天练习使用nodejs socket.io实现聊天室功能
已经做到功能:
1.自己发送信息在聊天室里出现;
2.自己的信息显示“我:”,其他人的信息显示其id;
3.进入退出聊天室会有系统提醒;
想做的功能:
1.根据id进行1对1的聊天;
2.创建组进行小范围讨论;
3.在bootstap里找个好看的prompt弹窗;
经验总结:
1.nodejs 中 express跟http的关系似乎像 jq和js一样,express可以替代http
var express = require(‘express‘);
var app =express();
var server = app.listen(8082);
即可搭出服务器监听。
2.nodejs这里有许多约定俗称的变量命名规则:
var socket = require(‘socket.io‘);
var app =express();
var io = socket.listen(server);
再查资料时候应注意可能被省略的变量命名,以及少数人使用特殊的命名时能反应过来。
3.http://www.cnblogs.com/xiezhengcai/p/3956401.html socket.io
1.有时间看上下篇更好的了解socket.io
2.除了系统自带的(服务端‘connection’‘disconnect‘,客户端‘connect‘等)
服务端和客户端的 emit 和 on 应该一一对应,任何一边发送另一边能有对应的接收。
3.服务端emit目前用到了以下几种
io.sockets.emit(‘String’,data);//给所有客户端广播消息
应用:一个用户进入聊天室给所有人提示
io.sockets.socket(socketid).emit(‘String’, data);//给指定的客户端发送消息
应用:1对1聊天?(待使用)
socket.broadcast.emit(‘String’, data);//给除了自己以外的客户端广播消息
应用:用户发送消息给其他聊天室(由于在自己聊天室和他人聊天室中显示的不同,这种方法比第一种更好用)
值得注意的这里是socket 开头 而不是io
socket.emit(‘String’, data);//给该socket的客户端发送消息
应用:系统反馈信息时候使用。
以上是关于nodejs socket.io的主要内容,如果未能解决你的问题,请参考以下文章
NodeJS - Socket.io 只允许经过 JWT 验证的连接
Socket.io 无法使用 nodejs 在 aws 上工作
iOS Client 连接到 NodeJS socket.io 导致 Stream end 遇到
带有 Socket.IO 1.0 的 NodeJS - 堆外的内存泄漏
如何在套接字函数之外使用(socket.io)发射函数-nodejs,express
如何在前端获取 socket.on 函数?事件被触发和处理。我正在使用 socket.io、NodeJS 服务器和 Redis.io