问题描述
如何在thinkphp下 后台作为客户端用workerman向远程服务器发送socket长链接
问题出现的环境背景及自己尝试过哪些方法
thinkphp5.1 封装的server 中 没有 AsyncTcpConnection类 求指点
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
/**
- Worker控制器扩展类
*/
abstract class Server
{
protected $worker;
protected $socket = '';
protected $protocol = 'http';
protected $host = '0.0.0.0';
protected $port = '2346';
protected $option = [];
protected $context = [];
protected $event = ['onWorkerStart', 'onConnect', 'onMessage', 'onClose', 'onError', 'onBufferFull', 'onBufferDrain', 'onWorkerReload', 'onWebSocketConnect'];
你期待的结果是什么?实际看到的错误信息又是什么?
如何能够调用AsyncTcpConnection类 作为客户端 发送远程链接
需要保持长连接
不明白需要实现的功能。
如果只是发送socket数据,则直接使用php创建一个socket连接发送即可。
如果说,想要在web端,调用workerman连接远程socket服务器的话,其实还不如直接在socket服务器开一个http服务。因为web端本身就是一个短连接。用户点击的http请求结束之后就结束了。
如果远程服务器http服务不方便,则在本地用wokerman 守护进程跑一个客户端,web端用http服务调用客户端发送socket请求。这其实是靠wokerman的客户端维持长链接
AsyncTcpConnection 在
vendor/workeman/Connection
文件夹下,命名空间Workerman\Connection\AsyncTcpConnection