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