1. Go to this page and download the library: Download romainrg/ratchet_client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?phprequire_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
defined('BASEPATH') orexit('No direct script access allowed');
/**
* Ratchet Websocket Library: config file
* @author Romain GALLIEN <romaingallien.rg@gmail.com>
* @var array
*/
$config['ratchet_client'] = array(
'host' => '0.0.0.0', // Default host'port' => 8282, // Default port (be carrefull to set unused server port)'auth' => true, // If authentication is mandatory'debug' => true// Better to set as false in Production
);
classUserextendsCI_Controller{
publicfunctionindex($user_id = null){
// We load the CI welcome page with some lines of Javascript$this->load->view('welcome_message', array('user_id' => $user_id));
}
}
defined('BASEPATH') ORexit('No direct script access allowed');
$client = new Client('ws://0.0.0.0:8282');
$client->send(json_encode(array('user_id' => 1, 'message' => null)));
$client->send(json_encode(array('user_id' => 1, 'message' => 'Super cool message to myself!')));
classWelcomeextendsCI_Controller{
publicfunctionindex(){
// Load package path$this->load->add_package_path(FCPATH.'vendor/romainrg/ratchet_client');
$this->load->library('ratchet_client');
$this->load->remove_package_path(FCPATH.'vendor/romainrg/ratchet_client');
// Run server$this->ratchet_client->set_callback('auth', array($this, '_auth'));
$this->ratchet_client->set_callback('event', array($this, '_event'));
$this->ratchet_client->run();
}
publicfunction_auth($datas = null){
// Here you can verify everything you want to perform user login.// However, method must return integer (client ID) if auth succedeed and false if not.return (!empty($datas->user_id)) ? $datas->user_id : false;
}
publicfunction_event($datas = null){
// Here you can do everyting you want, each time message is receivedecho'Hey ! I\'m an EVENT callback'.PHP_EOL;
}
}
sh
php index.php welcome index
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.