这篇文章给大家分享的是有关swoole如何获取消息发送失败错误的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都创新互联公司致力于互联网品牌建设与网络营销,包括网站设计、做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队十载专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。向客户端发送数据,函数原型:
bool Server->send(mixed $fd, string $data, int $serverSocket = -1);
发送过程是异步的,底层会自动监听可写,将数据逐步发送给客户端
参数
$fd,客户端的文件描述符
$data,发送的数据,TCP协议较大不得超过2M,可修改 buffer_output_size 改变允许发送的较大包长度
$serverSocket,向Unix Socket DGRAM对端发送数据时需要此项参数,TCP客户端不需要填写
返回值
发送成功会返回true
发送失败会返回false,调用$server->getLastError()方法可以得到失败的错误码
Server->getLastError
获取最近一次操作错误的错误码。业务代码中可以根据错误码类型执行不同的逻辑。
function Server->getLastError()
返回一个整型数字错误码
发送失败错误
1001 连接已经被Server端关闭了,出现这个错误一般是代码中已经执行了$serv->close()关闭了某个连接,但仍然调用$serv->send()向这个连接发送数据
1002 连接已被Client端关闭了,Socket已关闭无法发送数据到对端
1003 正在执行close,onClose回调函数中不得使用$serv->send()
1004 连接已关闭
1005 连接不存在,传入$fd 可能是错误的
1007 接收到了超时的数据,TCP关闭连接后,可能会有部分数据残留在管道缓存区内,这部分数据会被丢弃
1008 发送缓存区已满无法执行send操作,出现这个错误表示这个连接的对端无法及时收数据导致发送缓存区已塞满
1202 发送的数据超过了 server->buffer_output_size 设置
感谢各位的阅读!关于“swoole如何获取消息发送失败错误”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!