为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
明月笑刀无情 2019-03-03 14:29:27
问题描述如何在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 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

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

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


查看完整回答
反对 回复 2019-03-03
?
皈依舞

TA贡献1851条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 4091 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信