- 39
- 0
遇到的问题
我想在服务启动前,先链接到各个服务(例如redis服务),然后服务端收到信息后,我可以在里面调用对应的redis。
但我在实例开发的时候,遇到以下报错。报错似乎提到 已经有其它协程在用导致发生错误
这是不是可以理解为:在协程里,不能用相同的一个服务(变量),只能每次在go()里,重新连接一次?
Fatal error: Uncaught SwooleError: Socket#4 has already been bound to another coroutine#505, reading of the same socket in coroutine#506
新手上路,望指点。哈
相关代码
<?php
use Swoole\Coroutine\Server;
use Swoole\Coroutine\Server\Connection;
class App
{
private static $app;
private $server;
private $mysql;
private $redis;
private function __construct()
{
go(function () {
$this->redis = new Swoole\Coroutine\Redis();
$this->redis->connect('redis', 6379);
$server = new Server('0.0.0.0', 9502, false);
$server->handle(function (Connection $conn) use ($server) {
while(true) {
$data = $conn->recv();
$json = json_decode($data, true);
var_dump($this->redis->get('1234'));
}
});
$server->start();
});
}
public static function getInstance()
{
if (is_null(self::$app)) {
self::$app = new self();
}
return self::$app;
}
public function run()
{
$this->server->start();
}
}
App::getInstance();
期待的结果
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

