php socketio教程,使用socket.io如何实现聊天室

这篇文章主要介绍了使用socket.io实现简单聊天室案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了socket.io实现简单聊天室的具体代码,供大家参考,具体内容如下

1、客户端【index.html】代码:

socket简例


  • {{item.name}}说:{{item.content}}

发送

var _vm = new Vue({

data : {

name : '用户',

msg : '',

msgs : [],

},

methods : {

m_send : function() {

// 向客户端发送消息

socket_client.emit('say_client', {

name : this.name,

content : this.msg

}) ;

this.msg = '' ;

}

}

}).$mount('#app') ;

// socket服务器

var socket_client = io.connect('http://127.0.0.1:3000') ;

/**

* 监听服务端发来的消息

*

* 1、“say_server”是客户端发出信息时的key值

* 2、“res”是客户端传来的value值

*/

socket_client.on('say_server' ,function(res){

console.log('服务端发来的消息为:', res) ;

_vm.msgs.push(res);

});

2、服务端【app.js】代码:const http = require('http') ;

const server = http.createServer() ;

// web服务器

const express = require('express') ;

const app = express();

app.use(express.static(__dirname + '/public'));

app.listen(8888, function () {

console.log('web服务器成功启动了,IP:127.0.0.1,端口号:8888') ;

});

// socket服务器

const socketio = require('socket.io') ;

const socket_server = socketio(server) ;

// 建立和客户端的socket连接

socket_server.on('connection', function(client) {

// console.log(client) ; // 查看连接进来的客户端对象内容

// console.log(Object.keys(client)) ; // 查看连接进来的客户端对象的关键key值

/**

* 监听客户端发来的消息

*

* 1、“say_client”是客户端发出信息时的key值

* 2、“res”是客户端传来的value值

*/

client.on('say_client', function(res) {

console.log('客户端发来的消息为:', res) ;

// 向客户端发送消息

socket_server.emit('say_server', res) ;

}) ;

}) ;

server.listen(3000, function() {

console.log('socket服务器成功启动了,IP:127.0.0.1,端口号:3000') ;

}) ;

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Node.js 和 Socket.io 实现多人聊天室的基本步骤: 1. 安装 Node.js 和 Socket.io 首先需要安装 Node.js 和 Socket.io。可以在 Node.js 官网下载并安装 Node.js,然后在命令行中使用以下命令安装 Socket.io: ``` npm install socket.io ``` 2. 创建服务器 创建一个 Node.js 服务器,并在其中引入 Socket.io 模块。创建一个 HTTP 服务器,并使用 Socket.io 将其升级为 WebSocket 服务器。 ```javascript const http = require('http'); const express = require('express'); const socketIO = require('socket.io'); const app = express(); const server = http.createServer(app); const io = socketIO(server); server.listen(3000, () => { console.log('Server listening on port 3000'); }); ``` 3. 监听连接事件 使用 Socket.io 监听 `connection` 事件,当有新的客户端连接到服务器时,触发该事件。 ```javascript io.on('connection', (socket) => { console.log('New client connected'); }); ``` 4. 处理消息事件 在连接事件中,可以监听 `message` 事件,以接收客户端发送的消息。当接收到消息时,将其广播给所有连接到服务器的客户端。 ```javascript io.on('connection', (socket) => { console.log('New client connected'); socket.on('message', (message) => { console.log('Received message: ', message); io.emit('message', message); }); }); ``` 5. 创建客户端 创建一个 HTML 页面作为客户端,使用 Socket.io 连接到服务器,并监听 `message` 事件以接收其他客户端发送的消息。 ```html <!DOCTYPE html> <html> <head> <title>Chat Room</title> <script src="/socket.io/socket.io.js"></script> <script> const socket = io(); socket.on('message', (message) => { const li = document.createElement('li'); li.innerText = message; document.getElementById('messages').appendChild(li); }); function sendMessage() { const input = document.getElementById('messageInput'); socket.emit('message', input.value); input.value = ''; } </script> </head> <body> <ul id="messages"></ul> <input type="text" id="messageInput"> <button onclick="sendMessage()">Send</button> </body> </html> ``` 6. 运行程序 运行 Node.js 服务器,并在浏览器中打开客户端页面。多个客户端连接到服务器后,可以在聊天室中发送消息。 这就是使用 Node.js 和 Socket.io 实现多人聊天室的基本步骤。当然,还可以添加许多其他功能,例如用户身份验证、私人消息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值