示例#1
0
文件: server.php 项目: elm200/snippet
 //    ));
 // 全イベント
 $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));
 });
 $serv->registerEvent('receivedMessage', 'chat', function ($client, $message) use(&$serv) {
     $serv->broadcastMessage(array($client, sprintf('> %s' . "\n", $message), sprintf('%s:%dさん: %s' . "\n", $client->address, $client->port, $message)));
 });
 // レーザー用イベント
 $serv->registerEvent('connect', 'lazer', 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));
 });