gpt4 book ai didi

javascript - 套接字代码在Codeigniter Rest API内部不起作用

转载 作者:行者123 更新时间:2023-12-03 12:02:04 25 4
gpt4 key购买 nike

我正在开发codeigniter rest api,同时我需要通过套接字推送一些计数消息,因此我已经使用echo写了js代码(要在php中运行js代码,我们需要echo),但是套接字代码无法正常工作,即在接收方,我没有收到任何消息。
REST API文件中的套接字代码:

     if ($this->db->insert('users', $new_arr)) {
echo '<script src="' . base_url("node_modules/socket.io/node_modules/socket.io-client/socket.io.js") . '"></script>';
echo " var socket = io.connect( 'http://'+window.location.hostname+':3000' )";// open connection at sender
echo 'socket.emit("new_count_message", { // emit message
new_count_message: 145
})';
$response = array('status' => true, 'message' => 'data dded successfully', 'response' => array());
} else {
$response = array('status' => true, 'message' => 'Failed to add data!');
}
$this->response($response);
在接收方:
    var socket = io.connect( 'http://'+window.location.hostname+':3000' );// connection open at receiver
socket.on( 'new_count_message', function( data ) {
alert(data.new_count_message);

$( "#new_count_message" ).html( data.new_count_message );
$('#notif_audio')[0].play();

});

最佳答案

我没有在php中使用socket.io,但是遇到了这个库https://github.com/walkor/phpsocket.io,该库允许您在php中实现socket.io。在“简单聊天”示例之后,应该向您展示如何设置服务器端代码。 api文件中的内容不会打开服务器端连接,而是返回一个从客户端发出数据的网站。因为您没有服务器处理套接字连接,所以它无法将数据传输到其他套接字。在配置了服务器端套接字处理程序之后,当调用API并调用API文件中的代码时,客户端将收到一个包含您已输出信息的网页。在接收到的数据中,您正在连接到套接字并发出数据。然后,该数据将由服务器按照您链接的示例所实现的代码接收,然后将数据发送到您已设置的连接。
或者,为什么不首先发出一条消息,而不是首先进行API调用?这将节省您的网络调用(如果仅通过API调用套接字,则不需要此调用),并且可以使您的应用程序更快。如果不首先了解如何调用API,就很难给出确切的实现细节。

关于javascript - 套接字代码在Codeigniter Rest API内部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65388749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com