swoole的websockte例子
服务器的环境,建议用bt.cn的一键环境
服务端:
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019\5\23 0023
* Time: 15:12
*/ class Server{ public function __construct()
{
$sw = new swoole_websocket_server('0.0.0.0',9501); $sw->on('open',function($server, $request){ echo '客户端已经连接'.PHP_EOL;
}); $sw->on('message',function(swoole_websocket_server $server, $frame){ echo PHP_EOL. '服务端已经收到消息';
echo PHP_EOL. "客户端id: " .$frame->fd ; //客户端id
echo PHP_EOL. "接收的消息: " .$frame->data ; //接收的数据
$server->push($frame->fd,"服务把你的信息原封不动的给你了-->".$frame->data); }); $sw->on('close',function($ser, $fd){ echo '连接已经关闭';
}); $sw->start(); } } new Server();
客户端:
<html>
<head>
<title>demo</title>
<script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<input type="text" id="content">
<input type="button" value="send" id="send">
<script type="text/javascript">
var ws = new WebSocket("ws://192.168.56.101:9501");
ws.onopen = function(){
console.log("握手成功");
}
ws.onmessage = function(e){
console.log("message:" + e.data);
}
ws.onerror = function(){
console.log("error");
}
$("#send").click(function(){
content = $("#content").val();
console.log(content);
ws.send(content);
})
</script>
</body>
</html>
结果:
swoole的websockte例子的更多相关文章
- swoole父进程和子进程之间通信的例子
<?php /** 这是一个swoole父进程和子进程之间通信的例子 */ //进程创建成功后回调处理 function handle(swoole_process $worker){ //从进 ...
- php的swoole扩展中onclose和onconnect接口不被调用的问题
在用swoole扩展写在线聊天例子的时候遇到一个问题,查了不少资料,现在记录于此. 通过看swoole_server的接口文档,回调注册接口on中倒是有明确的注释: * swoole_server-& ...
- PHP 进行统一邮箱登陆的代理实现(swoole)
在工作的过程中,经常会有很多应用有发邮件的需求,这个时候需要在每个应用中配置smtp服务器.一旦公司调整了smtp服务器的配置,比如修改了密码等,这个时候对于维护的人员来说要逐一修改应用中smtp的配 ...
- Swoole笔记(一)
简介 Swoole是一个PHP扩展,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读 ...
- PHP异步扩展Swoole笔记(1)
安装Swoole扩展 通过pecl安装, 系统中最好已经有http2依赖, 如果是Ubuntu, 可以直接通过apt安装nghttp2, 如果是Centos或者需要自己编译, 在Github下载ngh ...
- swoole深入学习 4. process
swoole-1.7.2增加了一个进程管理模块,用来替代PHP的pcntl扩展.pcntl是php新增的一个多进程扩展,用来实现多进程,但是有很多不完善的地方,swoole 就完善了这些地方,而且使得 ...
- 使用Swoole 构建API接口服务
网上类似的文章已经很多了,我也是刚入门.从头开始学习.所以如果重复写文章阐释,反而会浪费时间,于是就自己动手构建了一个demo,使用swoole 的TCP 服务器接受TCP客户端的发来的http请求, ...
- nginx转发swoole以及nginx负载
nginx作为静态服务器同时转发swoole配置: location /{root //静态文件目录;index index.html index.htm;//默认首页 if(!-e $request ...
- swoole中退出、异常与错误的处理笔记
关于PHP这方面的知识 可以看 https://www.cnblogs.com/zyf-zhaoyafei/p/6928149.html 进行补课 然后下面记录一下使用swoole的时候需要注意的地方 ...
随机推荐
- lumen生成key
在Lumen控制台运行php artisan key:generate提示: $ php artisan key:generate [Symfony\Component\Console\Excepti ...
- Cknife流量分析
本文首发:https://<img src=1 onerror=\u006coc\u0061tion='j\x61v\x61script:\x61lert\x281\x29'>testde ...
- Log parser工具使用
Windows日志存放于目录“C:\Windows\System32\winevt\Logs”中, 在目录中可以找到“System”.“Setup”.“Application”.“Security” ...
- 某公司git代码管理,到如何上线
- Arduino Tian开发板:一个功能强大的天气预报中心
每天都在出现新的连接设备. Arduino携手云平台一起加入这场战斗,于是出现了一个新的挑战者 - Arduino Tian! 使用python和经典Arduino框架,本教程将引导您将您的Ardui ...
- OpenSSL和Python实现RSA Key公钥加密私钥解密
基于非对称算法的RSA Key主要有两个用途,数字签名和验证(私钥签名,公钥验证),以及非对称加解密(公钥加密,私钥解密).本文提供一个基于OpenSSL和Python进行非对称加解密的例子. 1. ...
- 《3+1团队》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...
- nodeJs修改镜像源
// 设置 淘宝镜像源npm config set registry https://registry.npm.taobao.org // 查看 使用的 镜像源npm config get regis ...
- python func(*args, **kwargs)
func(*args, **kwargs) *args, **kwargs表示函数的可变参数 *args 表示任何多个无名参数,它是一个tuple **kwargs 表示关键字参数,它是一个dict ...
- rest_framework/api.html
解决办法 在setting.py文件中添加 'rest_framework' 注册这个应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.con ...