代码如下:

<?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简单的多人聊天室相关推荐

  1. SpringBoot——SpringBoot集成WebSocket实现简单的多人聊天室

    文章目录: 1.什么是WebSocket? 2.Java中的WebSocket API 2.1 WebSocket开发中的相关注解及API方法 2.2 前端技术对WebSocket的支持 3.多人聊天 ...

  2. 【转载】API:简单实现多人聊天室

    前言 API知识点:IO输入输出流.网络编程.多线程.多线程的并发安全问题的解决 IO输入输出流 前面讲到的变量.基本类型.对象等,它们在系统中存储的数据都是在内存中暂存的数据,当一个程序结束时,这些 ...

  3. python简单的多人聊天室

    刚开始学习python,写了一个聊天室练练手. Server.py import socket,select,thread;host=socket.gethostname() port=5963 ad ...

  4. java swing多人聊天室_使用java swing和socket编程实现简单的多人聊天室-Go语言中文社区...

    完成效果如下 客户端: 服务器端: 客户端功能: 输入服务器对应的端口,IP号,用户名(昵称),可以互相发送消息 服务器端功能: 输入端口号,启动,可以向所有客户端发送消息,IP地址自动获取. 下面是 ...

  5. 【网络编程知识】使用Socket通信,做一个简单的多人聊天室

  6. socket.io php 聊天室,WebSocket学习(一)——基于socket.io实现简单多人聊天室

    前言 什么是Websocket呢? 我们都知道在Http协议中,客户端与服务器端的通信是靠客户端发起请求,然后服务器端收到请求再进行回应,这个过程中,客户端是主动的,服务器端是被动的.Websocke ...

  7. 基于Python Tkiner、thread与socket实现的简单多人聊天室,在Python中创建TCP服务器与客户端进行通信

    基于Python Tkiner.thread与socket实现的简单多人聊天室,在Python中创建TCP服务器与客户端进行通信 完整代码下载地址:基于Python Tkiner.thread与soc ...

  8. python多人聊天室_python实现简单多人聊天室

    本文实例为大家分享了python实现多人聊天室的具体代码,供大家参考,具体内容如下 刚开始学习python,写了一个聊天室练练手. Server.py import socket,select,thr ...

  9. NIO网络编程实战之简单多人聊天室

    NIO网络编程实战 利用NIO编程知识,实现多人聊天室. 1. NIO编程实现步骤 第一步:创建Selector 第二步:创建ServerSocketChannel,并绑定监听端口 第三步:将Chan ...

最新文章

  1. Rust 交叉编译设置
  2. explain的讲解
  3. python中的arange函数_Python 中的range,以及numpy包中的arange函数
  4. Android使用百度地图定位
  5. 入门Java要学习的一些基本和高级工具
  6. Python(七) 元组+集合+随机+string
  7. Python - 利用pip管理包
  8. 2012年第一个工作日
  9. 什么是python标识符_Python:标识符Identifier
  10. c语言 sizeof typeof,typeof、nameof、sizeof的用法
  11. ie型lfsr_什么是PRBS
  12. 实战:配置内网DNS实现内部域名解析
  13. HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
  14. 教你如何一步一步制作自己的PCB个人LOGO
  15. linux 安装ros软路由,Centos7安装RouterOS软路由
  16. 共享网络隐藏计算机,把电脑变成无线路由器,wifi共享大师隐藏ssid-
  17. ubuntu安装搜狗输入法老是没中文怎么办
  18. python爬虫可视化题目北京空气质量监测数据获取与分析
  19. uni-app 初始化项目
  20. Docker 及 Docker Compose 安装及使用教程 (2020版)

热门文章

  1. 如何学好Python——你到底在学什么!
  2. 深度报告 |《5G应用创新发展白皮书2020-10》- 信通院(45页附下载)
  3. Python中 递归函数 的理解
  4. stackoverflow那些有趣的badges
  5. 【Cocos Shader】2D灯光及遮罩效果
  6. 有赞前端质量保障体系
  7. Winmgmt.exe错误解决办法
  8. GNU awk 的用法-文本处理三剑客之一
  9. Android studio R文件位置
  10. THINKPHP之阿里大鱼短信接口