Search Notebooks
Cometでサーバと双方向通信

Comet,WebSocket,http,Long polling

Page owner: user Suga koubou

Created 19 Nov 2011.
Last updated 19 Nov 2011

Cometでサーバと双方向通信

Page last updated 19 Nov 2011, by   user Suga koubou   tag No tags | 0 replies  

Cometでサーバと双方向通信

いわゆる Long polling

Internet of Things へ急げ!

Server (Apache + PHP)

さくらのVPS 512 使用

sample

stream.php

<?
  $file_name = "out.txt";
  $old_time = filemtime($file_name);
  $count = 0;

  if ($_POST["data"]) {
    $fp = fopen("in.txt", "w");
    if ($fp) {
      fputs($fp, $_POST["data"]);
      fclose($fp);
    }
  }

  while(1) {

    clearstatcache();
    $new_time = filemtime($file_name);

    if($old_time !== $new_time) {
      $data = file_get_contents($file_name);
      break;
    }

    $count ++;
    if ($count > 55) {
      echo "\n";
      flush();
      $count = 0;
    }

    sleep(1);
  }

  echo "\x7fdata=${data}";

Client (mbed)

» Import this programpseudo_comet

http://mbed.org/users/okini3939/notebook/comet_websocket/

動作

サーバ側で out.txt を更新すると、その内容がmbed(クライアント)のPCシリアルへ表示される。

mbed側(PCシリアル)で文字入力をすると、サーバの in.txt へ書き込まれる。


Please login to post comments.