如何在thinkphp5.1下 后台作为客户端用workerman向远程服务器发送socket长链接

问题描述

如何在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类 作为客户端 发送远程链接
需要保持长连接

阅读 2.4k
1 个回答

不明白需要实现的功能。
如果只是发送socket数据,则直接使用php创建一个socket连接发送即可。

如果说,想要在web端,调用workerman连接远程socket服务器的话,其实还不如直接在socket服务器开一个http服务。因为web端本身就是一个短连接。用户点击的http请求结束之后就结束了。

如果远程服务器http服务不方便,则在本地用wokerman 守护进程跑一个客户端,web端用http服务调用客户端发送socket请求。这其实是靠wokerman的客户端维持长链接

AsyncTcpConnection 在vendor/workeman/Connection文件夹下,命名空间Workerman\Connection\AsyncTcpConnection

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题