stream_socket_sendto(): Զ�����ǿ�ȹر��һ�����е���ӡ�

lznan

THINKPHP5 内使用 Gateway::sendToClient($client_id,$str);就会报这个错,最奇怪的是有时候很小概率能成功不报错.烦请解惑

5161 6 0
6个回答

walkor

把乱码解决下,看不到具体报错定位不了原因的

  • lznan 2017-10-27

    我也想解决乱码...我发送的数据是正常的,但是报错就是这个哦

  • 智佳思远 2017-10-27

    乱码临时调整下网页编码就好了

wubojing

老哥 你这个问题解决了吗 我也遇到这个问题 烦的一批

  • SimplerWorker 2018-05-18

    我也是遇到这个问题,一直没能解决,大神要是解决了,麻烦告知下,多谢了

SimplerWorker

我重启电脑后,又正常了。当我重启服务后,又出现这个问题!

namespace app\worker\controller;
use \GatewayWorker\Lib\Gateway;
use think\Db;
use think\Controller;

class Index extends Controller{
    public function initUser(){
        $uid = input('post.uid');
        $client_id = input('post.client_id');
//        $uid = $uid ? $uid : 1;
//        $client_id = $client_id ? $client_id : "7f00000108fc00000006";
        Gateway::$registerAddress = '0.0.0.0:1236';
        Gateway::bindUid($client_id, $uid);  // 执行到这里就报错了
        Gateway::joinGroup($client_id, $uid);
        dump($uid);
        dump($client_id);
    }
    public function doSomeThing(){
        $arr = Db::query("select * from sw_user");
        $json = json_encode($arr,true);
        $uid = input('post.uid');
        dump($json);
        if(!is_array($json)){
//            Gateway::sendToAll($json);
//           Gateway::sendToClient($client_id,$json);
            Gateway::sendToUid($uid,$json);
            Gateway::sendToGroup($uid,$json);
        }
    }
}
  • 暂无评论
xiuwang

Gateway::$registerAddress = '0.0.0.0:1236';
这个明显错了,应该是ip:1236,ip不能是0.0.0.0

walkor

看下gatewayClient版本和gateway版本是否一致,不一致无法通讯

  • 暂无评论
bianchao1

我遇到这个问题,是windows系统,register正常启动后ctrl+c关闭了,再启动register时,thinkPHP框架内的gatewayclient就无法链接register了,这时候重启一下Apache,就又可以链接register的端口了。感觉还是windows系统或者是Apache(我用的PHPstudy)的问题,希望遇到这个问题的人,试一下方法是不是有效,也希望walkor查找下问题原因。

年代过于久远,无法发表回答
🔝