php-wsPHP的WebSocket類庫
實現(xiàn)基于Websocket 協(xié)議的 PHP類庫 和 javascript類庫 , 實現(xiàn)事件+回調(diào)函數(shù)的架構(gòu)開發(fā),以一個簡單聊天室實例介紹其使用方法: 不同瀏覽器,不同電腦,不同地域, 實時通訊。實現(xiàn)的詳細(xì) 請研究源碼。
/***服務(wù)端****/
/**
* 實例化
*/
$io = new SocketIO('127.0.0.1',8000);
/**
* 監(jiān)聽連接
*/
$io->on('connect',function($ws,$uid){
$msg = "任意數(shù)據(jù)類型,結(jié)構(gòu)需要和前端協(xié)議,便于通信";
$ws->broadcast(evet, $msg);
//$ws->emit(evet, $uid, $msg);
});
/**
* 任意事件,與前端協(xié)議好,// evet 由開發(fā)者定義
*/
$io->on('event',function($ws,$uid,$msg){
$msg = "任意數(shù)據(jù)類型,結(jié)構(gòu)需要和前端協(xié)議,便于通信";
$ws->broadcast(evet, $msg);
});
/*
* 關(guān)閉
*/
$io->on('close',function($ws,$uid,$err){
// evet 由開發(fā)者定義
$msg = "任意數(shù)據(jù)類型,結(jié)構(gòu)需要和前端協(xié)議,便于通信";
$ws->broadcast('close', $msg);
});
/**
* 啟動
*/
$io->run();
/*** 客戶端 ***/
var io = new SocketIO('127.0.0.1',8000);
io.on('connect',function(){
console.log('open');
// 發(fā)出請求, event 由開發(fā)者定義
io.emit(event, user, function(ok){
if(ok){
}else{
}
});
// 收到消息, event 由開發(fā)者定義
io.on(event, function(msg){
console.log(msg);
});
//關(guān)閉事件
io.on('close', function(){
});
});
