Beispiel #1
0
 /**
  * @expectedException Phanglia\ConnectionException
  */
 public function testConnectionProblem()
 {
     $socket = new Socket('-_/#$*&!)@&#$', 32132, []);
     $socket->send('some_payload');
     $this->assertTrue($socket->isOpen());
     $socket->close();
     $this->assertFalse($socket->isOpen());
 }
Beispiel #2
0
 /**
  * 發送EMAIL的組件
  * @param Array $opt 發送的數據
  * @author wave
  */
 public function mail_send($opt = array())
 {
     set_time_limit(0);
     Socket::$address = $opt['address'];
     Socket::$port = $opt['port'];
     $_data = array(0 => "EHLO " . $opt['cc'] . "\r\n", 1 => "AUTH LOGIN\r\n", 2 => base64_encode($opt['form']) . "\r\n", 3 => base64_encode($opt['pass']) . "\r\n", 4 => "MAIL FROM: <" . $opt['form'] . ">\r\n", 5 => "RCPT TO: <" . $opt['to'] . ">\r\n", 6 => "Content-Type: text/html; charset=\"utf-8\"\r\n", 7 => "DATA\r\n", 8 => "Form: " . $opt['cc'] . "<" . $opt['form'] . ">\r\nTo: " . $opt['to'] . "\r\nSubject: " . $opt['title'] . "\r\n\r\n" . $opt['body'] . "\r\n", 9 => "\r\n.\r\n", 10 => "QUIT\r\n");
     $jilu = array();
     //記錄發送數組
     foreach ($_data as $k => $v) {
         Socket::$data = $v;
         Socket::send();
         $jilu['ok'][$k] = Socket::read();
         if (!in_array($k, array(7, 8))) {
         }
         if ($k - count($_data) == 0) {
             if (substr(Socket::read(), 0, 3) != "250") {
                 $jilu['err'] = Socket::read();
             }
         }
     }
     Socket::colse();
     return isset($jilu['err']) ? $jilu['err'] : 'ok';
 }
Beispiel #3
0
 /**
  * 
  * @param unknown $iddevice
  * @param unknown $optionid
  * @param unknown $val
  */
 function mcTemperature($iddevice, $optionid, $val)
 {
     $socket = new Socket();
     $data = array('room_device_id' => $iddevice, 'option_id' => $optionid, 'value' => $val);
     $socket->send('send_to_device', $data);
 }
Beispiel #4
0
 function knx_read($daemon, $addr)
 {
     $socket = new Socket();
     $tab = array('daemon' => $daemon, 'addr' => $addr);
     $socket->send('knx_read', $tab);
 }
Beispiel #5
0
 public static function synchronizeInboundAltitude(IConnection $connect, $syncID, $userID)
 {
     global $database, $servers_altitude;
     $response = "";
     $path_data = PATHDATA_SOCKET_EASYLOAD;
     $path_file = "{$path_data}/{$userID}_{$syncID}";
     $output = "";
     try {
         //$objCampaign = Campaign::getCampaignByID($connect, $campaignID);
         //$shortname = $objCampaign->getShortName();
         //$objSync = new SynchronizeFolio($syncID,0, 0, "", "", "");
         $without_easycode = FolioImport::getRegistersInboundRegestion($connect, 'S');
         $action = 1;
         try {
             $objSocket = new Socket(IP_SOCKET_EASYLOAD, PORT_SOCKET_EASYLOAD, TIMEOUT_SOCKET_EASYLOAD);
             $objSocket->connect();
             // 1. Comprobando enlace con socket
             $objSocket->send("ACTION=TEST");
             $response = $objSocket->receive();
             //$objSync->updateSynchronizeAction($connect, $action, "OK");
             // 2. Generando archivo .TYP
             $action = 2;
             sleep(1);
             $filename = Util::generateFilesImportInbound($connect, $path_file, "TYP", true);
             //$objSync->updateSynchronizeAction($connect, $action, "OK");
             // 3. Generando archivo .dat
             $action = 3;
             sleep(1);
             Util::generateFilesImportInbound($connect, $path_file, "DAT", true);
             //$objSync->updateSynchronizeAction($connect, $action, "OK");
             // 4. Delegar a socket importar data en altitude
             $action = 4;
             sleep(1);
             $serverAtt = SERVER_NORMAL;
             //trim($objCampaign->getServerAltitude()) == "" ? SERVER_NORMAL : trim($objCampaign->getServerAltitude());
             $connectSQL = Util::createConnection(ENGINE_SQLSERVER, $database[$servers_altitude["{$serverAtt}"]['altitude']]);
             $connectSQL->connect();
             $rsDataAltitude = Altitude::getCampaignsByContactTable($connectSQL, 'outbound_retencion');
             $data = $connectSQL->getRows($rsDataAltitude);
             $campaignATT = trim($data['shortname']);
             $accessInstance = $database[$servers_altitude["{$serverAtt}"]['altitude']];
             $instance = $accessInstance['serverIA'] . ":" . $accessInstance['portIA'];
             $objSocket->send("ACTION=IMPORT;CAMPAIGN={$campaignATT};FILE={$filename};INSTANCE={$instance};USER={$userID};SYNCID={$syncID}");
             $response = $objSocket->receive();
             echo $response;
             /*if ($response == "ERROR" || $response == "WARN") {
                                 $msg = Util::getContentFile("{$path_file}/{$campaignATT}_messages.txt");
                                 $txt = "Ocurrio un problema en la importacion altitude";
                                 $mex = new MyException("$msg", 0, $txt);
                                 $mex->publisherSqlException(false);
                                 $mex->setText("{$txt}. Error# {$mex->getExceptionID()}");
                                 $output = "{$txt}. Error# {$mex->getExceptionID()}.";
             
                                 if ($response == "ERROR") {
                                     throw $mex;
                                 }
                             }*/
             //$objSync->updateSynchronizeAction($connect, $action, "{$response}");
             // 5. Finalizando enlace con socket
             $action = 5;
             $objSocket->changeTimeout(15);
             $objSocket->send("ACTION=END");
             $response = $objSocket->receive();
             //$objCampaign = Campaign::getCampaignByID($connect, $campaignID);
             //$objFolio = FolioImport::getFolioImport($connect, $folioID);
             //$total_folio = $objFolio->getRegistersImported();
             //$without_easycode = FolioImport::getRegistersWithoutEasycode($connect, $shortname, $folioID, 'S');
             //$objSync->updateSynchronizeAction($connect, $action, $total_folio - $without_easycode);
         } catch (MyException $ex) {
             $output = "ERROR: " . $ex->getText();
             //$objSync->updateSynchronizeAction($connect, $action, "ERROR: {$ex->getText()}");
         }
     } catch (MyException $ex) {
         $output = "Error: " . $ex->getText();
     }
     return $output;
 }
 public function write(ByteBuffer $sourceBuffer)
 {
     return $this->socket->send($sourceBuffer->get());
 }
Beispiel #7
0
 function mcSmartcmd($smartcmd_id)
 {
     $socket = new Socket();
     $socket->send('smartcmd_launch', $smartcmd_id);
 }
Beispiel #8
0
 public static function request($url, $params, $http_request)
 {
     $socket = new Socket($url, $params);
     return $socket->send($http_request);
 }