Programming/PHP2014. 9. 18. 16:16



elephant.io https://github.com/Wisembly/elephant.io


1. elephantio.php -  elephant.io 다운로드 src폴더 데이터에 대한 include 또는 require 파일 만들기

  1. <?php
  2. $___ELEPHANTIO_DIR = dirname(__FILE__);
  3. require $___ELEPHANTIO_DIR.'/Client.php';
  4. require $___ELEPHANTIO_DIR.'/AbstractPayload.php';
  5. require $___ELEPHANTIO_DIR.'/EngineInterface.php';
  6. require $___ELEPHANTIO_DIR.'/Engine/AbstractSocketIO.php';
  7. require $___ELEPHANTIO_DIR.'/Engine/SocketIO/Session.php';
  8. require $___ELEPHANTIO_DIR.'/Engine/SocketIO/Version1X.php';
  9. require $___ELEPHANTIO_DIR.'/Exception/MalformedUrlException.php';
  10. require $___ELEPHANTIO_DIR.'/Exception/ServerConnectionFailureException.php';
  11. require $___ELEPHANTIO_DIR.'/Exception/SocketException.php';
  12. require $___ELEPHANTIO_DIR.'/Exception/UnsupportedActionException.php';
  13. require $___ELEPHANTIO_DIR.'/Exception/UnsupportedTransportException.php';
  14. require $___ELEPHANTIO_DIR.'/Payload/Decoder.php';
  15. require $___ELEPHANTIO_DIR.'/Payload/Encoder.php';
  16. ?>


2. client.php

  1. <?php
  2. include 'lib/elephantio/elephantio.php';
  3. /*
  4. * Version1X arg2 Option : ['context'=>[], 'debug'=>false,'wait'=>100*1000,'timeout'=>ini_get("default_socket_timeout")];
  5. */
  6. $EIO = new ElephantIO\Client(
  7. new ElephantIO\Engine\SocketIO\Version1X('http://127.0.0.1:8001',['timeout'=>5])
  8. );
  9. $EIO->initialize();
  10. $EIO->emit('msgIn', array('data1','data2') );
  11. $EIO->close();
  12. ?>


3. nodejs server

  1. var io = require('socket.io').listen(8001);
  2. io.sockets.on('connection', function (socket){
  3. socket.on('msgIn',function(msg){
  4. console.log('Msg In : ',msg);
  5. });
  6. socket.on('disconnect', function(){
  7. console.log('NOT USER DISCONNECT : ', socket.id);
  8. });
  9. });
  10. /*
  11. * debug
  12. * Msg In : [ 'data1', 'data2' ]
  13. * NOT USER DISCONNECT : NPmXDQpuVM9OFYl0AAAA
  14. */


Posted by 시니^^