猿问

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


明月笑刀无情
浏览 4092回答 2
2回答

largeQ

不明白需要实现的功能。如果只是发送socket数据,则直接使用php创建一个socket连接发送即可。如果说,想要在web端,调用workerman连接远程socket服务器的话,其实还不如直接在socket服务器开一个http服务。因为web端本身就是一个短连接。用户点击的http请求结束之后就结束了。

皈依舞

如果远程服务器http服务不方便,则在本地用wokerman 守护进程跑一个客户端,web端用http服务调用客户端发送socket请求。这其实是靠wokerman的客户端维持长链接AsyncTcpConnection 在vendor/workeman/Connection文件夹下,命名空间Workerman\Connection\AsyncTcpConnection
随时随地看视频慕课网APP
我要回答