01.swoole学习笔记--TCP服务器
1.安装swoole扩展

2.网络调试助手进行调试
<?php
//创建服务器
$host='192.168.10.31';
$port=;
//$model='SWOOLE_PROCESS';
//$sock_type='SWOOLE_SOCKET_TCP';
//$serv=new swoole_server($host,$port,$model,$sock_type);
$serv=new swoole_server($host,$port);
/*
* $host:127.0.0.1 本地IP
* 192.168.50.133 监听对应外网IP
* 0.0.0.0 监听所有IP
* iPv4 /ipv6
* $port:端口号 1024以下需要root权限
* $model:SWOOLE_PROCESS 多进程的方式
* $socket_type:SWOOLE_SOCKET_TCP
*/
//使用
//bool $swoole_server->on(string $event,$mixed $callback);
/*
* $event:
* connect:当建立连接的时候 $serv:服务器信息 $fd:客户端信息
* receive:当接收到数据 $serv:服务器信息 $fd:客户端信息 $from_id:客户端id $data:客户端接收的数据
* close:关闭连接
*/
$serv->on('connect',function($serv,$fd){
//var_dump($serv);
//var_dump($fd);
echo "建立连接\n";
}); $serv->on('receive',function($serv,$fd,$from_id,$data){
echo "接收到数据\n";
var_dump($data);
}); $serv->on('close',function($serv,$fd){
echo "连接关闭\n";
}); $serv->start(); //启动服务器
//php index.php
//ps -ajft
//service iptables stop //关闭防火墙
?>


01.swoole学习笔记--TCP服务器的更多相关文章
- 07.swoole学习笔记--tcp客户端
<?php //创建tcp客户端 $client=new swoole_client(SWOOLE_SOCK_TCP); //连接服务器 $client->connect(,) or di ...
- 04.swoole学习笔记--webSocket服务器
<?php //创建webSocket服务器 $serv=); //获取请求 //on //open 建立连接 $serv:服务器 $request:客户端信息 $serv->on('op ...
- 03.swoole学习笔记--web服务器
<?php //创建web服务器 $serv=); //获取请求 /* * $request:请求信息 * $response:响应信息 */ $serv->on('request',fu ...
- 02.swoole学习笔记--UDP服务器
<?php //创建服务器 $serv=,SWOOLE_PROCESS,SWOOLE_SOCK_UDP); //bool $swoole_server->on(string $event, ...
- tcp/ip学习笔记-TCP
tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,
- 06.swoole学习笔记--异步tcp服务器
<?php //创建tcp服务器 $host='0.0.0.0'; $port=; $serv=new swoole_server($host,$port); //设置异步进程工作数 $serv ...
- Swoole学习(七)Swoole之异步TCP服务器的创建
环境:Centos6.4,PHP环境:PHP7 <?php //创建TCP服务器 /** * $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如 ...
- 利用Swoole编写一个TCP服务器,顺带测试下Swoole的4层生命周期
1首先我们写一个入口脚本,这里简单点的功能就是开启服务和关闭服务 <?php //CLI命令 if(isset($argv[1]) && in_array($argv[1], [ ...
- 08.swoole学习笔记--异步tcp客户端
<?php //创建异步tcp客户端 $client=new swoole_client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_ASYNC); //注册连接成功的回调函数 $c ...
随机推荐
- idna与utf-8编码漏洞
来自Black hat 2019 原理什么是IDN?国际化域名(Internationalized Domain Name,IDN)又名特殊字符域名,是指部分或完全使用特殊文字或字母组成的互联网域名, ...
- unity 热更方案对比
现在一般使用的方案有:tulua&ulua.xlua.ILRuntime 对比: tulua&ulua 方案成熟,稳定第三方库支持 xlua 之前是为了热更修复线上bug的,腾讯发起的 ...
- 动态代理Cglib
jar包 <!-- https://mvnrepository.com/artifact/cglib/cglib --><dependency> <groupId> ...
- springboot下使用dubbo的简单demo
1.一些话 现在java后端开发大多用springboot来简化环境搭建,现在一直使用的是springcloud和k8s有关的东西,以前用过dubbo,但那会儿的开发环境搭建流程较为繁琐,而且不支持r ...
- JQuery 实现PPT效果,点跳目标页及翻页(待改进)
实现PPT效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- IDEA中打war 包
把war 放入tomcat 的 webapps 目录下,重启tomcat即可自动解压war包跑起来 (最好是,解压完成后,关闭tomcat,把war包拷贝出去,再启动,不然每次启动tomcat都会自动 ...
- Using Watch Mode
官方文档地址:https://webpack.js.org/guides/development/#using-watch-mode You can instruct webpack to " ...
- Centos7 忘记密码解决方法
一.Centos7 忘记密码解决方法 1.进入单用户模型 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 然后按向下键,找到以“Linux16”开头的行,在该行的最后 ...
- 【JAVA蓝桥杯】基础练习2 十六进制转十进制
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A ...
- 设计模式课程 设计模式精讲 13-2 享元模式coding
1 代码演练 1.1 代码演练1 1 代码演练 1.1 代码演练1 需求: 每周由随机部门经历做报告: 重点关注: a 该案例是单例模式和享元模式共同使用 b 外部传入的department是外部状态 ...