php socket onConnect,php socket onClose,onMessage的实现

简介: php socket onConnect,php socket onClose,onMessage的实现

在workerman中我们可以看到常用的socket事件onConnect,onMessage,onClose,实际上socket不存在这些事件,workerman只是为了方便开发者。自己也在写相关的东西,正好记录下。

(1).当socket可读,通过stream_socket_accept 或者socket_accept成功接受套接字上的连接那么此时应该触发onConnect回调

(2).当socket可读,通过fread获取到客户端数据,当然如果包含具体协议,应该按照协议拿到完整的客户端数据,此时再触发onMessage回调

(3).onClose事件以下几种情况都要考虑:

(3.1).当客户端socket可读,但是读取到的内容为空,通过is_resource或者feof来判断客户端socket是否已经关闭
(3.2).当客户端socket可写,但是写入失败的时候,需要调用onClose回调

目录
相关文章
|
应用服务中间件 PHP nginx
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
393 0
|
网络协议 PHP
php实现多进程socket服务器class
php实现多进程socket服务器class
121 0
php实现多进程socket服务器class
|
安全 PHP
PHP-FPM没有生成socket文件
PHP-FPM没有生成socket文件
178 0
|
消息中间件 PHP Windows
PHP实现php-amqplib/php-amqplib实例RabbitMq
PHP实现php-amqplib/php-amqplib实例RabbitMq
246 0
|
缓存 网络协议 JavaScript
php-fpm应用与php-swoole应用进行通信
把Workerman作为一个可以向浏览器推送的通道,仅仅在需要向浏览器推送数据时才调用Workerman接口完成推送。业务逻辑全部在ThinkPHP中完成。
132 0
|
网络协议 PHP
php feof使用注意,php feof socket套接字使用注意,
php feof使用注意,php feof socket套接字使用注意,
146 0
|
PHP 网络协议
使用PHP创建SOCKET服务
最近好奇,接触接触PHP的socket编程,发现还是很好玩儿的。下面贴出来demo源码跟大家分享 Server.php <?php /** * PHP Socket Server * */ //确保客户端连接时不会超时 error_reporting(0);
2749 0
php为什么要用swoole?
最近两个月一直在研究 Swoole,那么借助这篇文章,我希望能够把 Swoole 安利给更多人。虽然 Swoole 可能目前定位是一些高级 phper 的玩具,让中低级望而生畏,可能对一些应用场景也一脸懵逼,但其实没这么难的。
2065 0