示例#1
0
文件: server.php 项目: elm200/snippet
 mb_http_output('UTF-8');
 $serv = new WebSocketServer('0.0.0.0', 8484);
 $serv->setDisplayLog(true);
 $serv->registerResource('chat');
 $serv->registerResource('lazer');
 $serv->registerResource('time');
 $serv->registerResource('desktop');
 //    $serv->setCheckOrigin(array(
 //        'localhost',
 //        '127.0.0.1'
 //    ));
 // 全イベント
 $serv->registerEvent('connect', function ($handle) use(&$serv) {
     printf("connected %s:%d\n", $handle->address, $handle->port);
     printf("now \"server\" connections %d\n", $serv->getConnections());
     foreach ($serv->getAllResourceConnections() as $resource => $connections) {
         printf("now \"%s\" connections %d\n", $resource, $connections);
     }
 });
 $serv->registerEvent('disconnect', function ($handle) use(&$serv) {
     printf(sprintf("disconnected %s:%d\n", $handle->address, $handle->port));
 });
 // チャット用イベント
 $serv->registerEvent('connect', 'chat', function ($client) use(&$serv) {
     $client->sendMessage(sprintf('%s:%d', $client->address, $client->port));
     $serv->broadcastMessage(sprintf('@%d', $serv->getResourceConnections($client->resource)));
     $serv->broadcastMessage(sprintf('%s:%dさんがチャットに参加しました。' . "\n", $client->address, $client->port));
 });
 $serv->registerEvent('disconnect', 'chat', function ($client) use(&$serv) {
     $serv->broadcastMessage(sprintf('@%d', $serv->getResourceConnections($client->resource)));
     $serv->broadcastMessage(sprintf('%s:%dさんがチャットを終了しました。' . "\n", $client->address, $client->port));