使用workerman简单的多人聊天室
代码如下:
<?php
/*** Created by PhpStorm.* User: raid* Date: 2016/8/2* Time: 11:03*/
use Workerman\Worker;
require_once '../Workerman/Autoloader.php';$global_uid = 0;// 当客户端连上来时分配uid,并保存连接,并通知所有客户端
function handle_connection($connection) {global $text_worker, $global_uid;// 为这个链接分配一个uid$connection->uid = ++$global_uid;foreach ($text_worker->connections as $conn) {$conn->send("user[{$connection->uid}] online");}
}// 当客户端发送消息过来时,转发给所有人
function handle_message($connection, $data) {global $text_worker;foreach ($text_worker->connections as $conn) {$conn->send("user[{$connection->uid}] said: $data");}
}// 当客户端断开时,广播给所有客户端
function handle_close($connection) {global $text_worker;foreach ($text_worker->connections as $conn) {$conn->send("user[{$connection->uid}] logout");}
}$text_worker = new Worker("websocket://0.0.0.0:2347");$text_worker->count = 1;$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';Worker::runAll();
HTML页面展示:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Simple Chat</title>
</head>
<body>
<h1>Simple Chat</h1>
<input type="text" id="msg">
<button type="button" id="send">send</button>
<div id="content"></div>
</body><script type="text/javascript">window.onload = function () {var ws = new WebSocket("ws://127.0.0.1:2347");document.getElementById("send").onclick = function () {var msg = document.getElementById("msg").value;ws.send(msg);};ws.onopen = function () {console.log("连接成功");
// ws.send('raid');};ws.onmessage = function (e) {document.getElementById("content").innerHTML += "<h2>" + e.data + "</h2>";};};
</script></html>
使用workerman简单的多人聊天室相关推荐
- SpringBoot——SpringBoot集成WebSocket实现简单的多人聊天室
文章目录: 1.什么是WebSocket? 2.Java中的WebSocket API 2.1 WebSocket开发中的相关注解及API方法 2.2 前端技术对WebSocket的支持 3.多人聊天 ...
- 【转载】API:简单实现多人聊天室
前言 API知识点:IO输入输出流.网络编程.多线程.多线程的并发安全问题的解决 IO输入输出流 前面讲到的变量.基本类型.对象等,它们在系统中存储的数据都是在内存中暂存的数据,当一个程序结束时,这些 ...
- python简单的多人聊天室
刚开始学习python,写了一个聊天室练练手. Server.py import socket,select,thread;host=socket.gethostname() port=5963 ad ...
- java swing多人聊天室_使用java swing和socket编程实现简单的多人聊天室-Go语言中文社区...
完成效果如下 客户端: 服务器端: 客户端功能: 输入服务器对应的端口,IP号,用户名(昵称),可以互相发送消息 服务器端功能: 输入端口号,启动,可以向所有客户端发送消息,IP地址自动获取. 下面是 ...
- 【网络编程知识】使用Socket通信,做一个简单的多人聊天室
- socket.io php 聊天室,WebSocket学习(一)——基于socket.io实现简单多人聊天室
前言 什么是Websocket呢? 我们都知道在Http协议中,客户端与服务器端的通信是靠客户端发起请求,然后服务器端收到请求再进行回应,这个过程中,客户端是主动的,服务器端是被动的.Websocke ...
- 基于Python Tkiner、thread与socket实现的简单多人聊天室,在Python中创建TCP服务器与客户端进行通信
基于Python Tkiner.thread与socket实现的简单多人聊天室,在Python中创建TCP服务器与客户端进行通信 完整代码下载地址:基于Python Tkiner.thread与soc ...
- python多人聊天室_python实现简单多人聊天室
本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下 刚开始学习python,写了一个聊天室练练手. Server.py import socket,select,thr ...
- NIO网络编程实战之简单多人聊天室
NIO网络编程实战 利用NIO编程知识,实现多人聊天室. 1. NIO编程实现步骤 第一步:创建Selector 第二步:创建ServerSocketChannel,并绑定监听端口 第三步:将Chan ...
最新文章
- Rust 交叉编译设置
- explain的讲解
- python中的arange函数_Python 中的range,以及numpy包中的arange函数
- Android使用百度地图定位
- 入门Java要学习的一些基本和高级工具
- Python(七) 元组+集合+随机+string
- Python - 利用pip管理包
- 2012年第一个工作日
- 什么是python标识符_Python:标识符Identifier
- c语言 sizeof typeof,typeof、nameof、sizeof的用法
- ie型lfsr_什么是PRBS
- 实战:配置内网DNS实现内部域名解析
- HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
- 教你如何一步一步制作自己的PCB个人LOGO
- linux 安装ros软路由,Centos7安装RouterOS软路由
- 共享网络隐藏计算机,把电脑变成无线路由器,wifi共享大师隐藏ssid-
- ubuntu安装搜狗输入法老是没中文怎么办
- python爬虫可视化题目北京空气质量监测数据获取与分析
- uni-app 初始化项目
- Docker 及 Docker Compose 安装及使用教程 (2020版)