我正在使用Elephant.io(用PHP编写的粗略Websocket)在codeigniter中开发一种实时通知机制
我的代码如下:
1)初始化套接字客户端
try {
if (!is_null($this->socketClient)) {
return $this->socketClient;
}
$temp_setting = array();
if (true) {
$temp_setting = [
'context' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
]
]
];
}
$client = new Client(new Version1X(WEB_NOTIFICATION_SOCKET_IP_AND_PORT, $temp_setting));
$client->initialize();
$client->emit('connect_success', ['ui' => "-135", 'key' => '976']);
return $client;
} catch (\Exception $e) {
echo $e->getMessage();
return null;
}
2)广播消息
try {
if (!is_null($this->socketClient)) {
$this->socketClient->emit('broadcast', (array)json_decode($fcm_data));
$response['status'] = 1;
return $response;
}
} catch (\Exception $ex) {
echo $ex->getMessage();
}
问题: 我现在面临的两个问题是:
1)通知已发出但未收到
2)初始化过程会引发php通知
严重性:通知
消息:未定义的偏移量:2
文件名:Engine / AbstractSocketIO.php
,并继续在特定的套接字上执行此操作,直到最终发出。第二个问题是特定于套接字IP的,它像另一个套接字上的超级按钮一样工作,但是任何人都可以指出问题,以便我确保将其删除。谢谢