/** * @return ExchangeODSS */ public static function getInstance() { if (null === self::$instance) { self::$instance = new self::$className(); } return self::$instance; }
public function dataExchange() { $TcpSocketServerConnector = new TcpSocketServerConnector($this->_logger, 'tcp', $this->_synchronization->server_ip, $this->_synchronization->tcp_server_command_port); $TcpSocketServerConnector->loadData($null); // send answer to client $TcpSocketServerConnector->onSentMessage = function ($coming_message) { $this->_logger->log(' $comming_message ' . print_r($coming_message, 1)); $answer = 'FALSE'; $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { // if ($exchangeItem->init($coming_message)) { $answer = $exchangeItem->serverMessage(); } else { $exchangeItem->getErrors(); $this->_logger->log(' ERRORS ' . print_r($exchangeItem->getErrors(), 1)); } } $this->_logger->log(' $answer ' . print_r($answer, 1)); return $answer; }; $TcpSocketServerConnector->onCloseConnection = function ($clientMessage) { $this->_logger->log(' $clientMessage ' . print_r(@unserialize($clientMessage), 1)); $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { // if ($exchangeItem->init($clientMessage)) { if ($exchangeItem->closeConnection()) { return true; } } } return false; }; //comes messages $TcpSocketServerConnector->onReceiveDataMessage = function ($message) { $this->_logger->log(' $message : ' . print_r($message, 1)); $validMessage = "FALSE"; $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { if ($exchangeItem->init($message)) { $validMessage = $exchangeItem->returnReceivedMessage(); } else { $exchangeItem->getErrors(); $this->_logger->log(' onReceiveDataMessage ERRORS ' . print_r($exchangeItem->getErrors(), 1)); } } return $validMessage; }; $TcpSocketServerConnector->readData($message); }
public function newReportAdd() { $typeReportSendStatus = new TypeReportSendStatus(); $typeReportSendStatus->newReportAdd(); $object = ExchangeODSS::getInstance(); $this->_logger->log(__METHOD__ . ' ' . print_r($object, 1)); }
protected function dataExchange() { $TcpSocketClientConnector = new TcpSocketClientConnector($this->_logger, 'tcp', $this->_synchronization->remote_server_ip, $this->_synchronization->tcp_client_command_port); // send to server $TcpSocketClientConnector->onSentMessage = function ($coming_message) { // $this->_logger->log(' $comming_message '.print_r($coming_message,1)); $answer = 'FALSE'; $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { if ($exchangeItem->init($coming_message)) { $answer = $exchangeItem->clientMessage(); } else { $exchangeItem->getErrors(); $this->_logger->log(' ERRORS ' . print_r($exchangeItem->getErrors(), 1)); } } return $answer; }; $TcpSocketClientConnector->onCloseConnection = function ($serverMessage) { $this->_logger->log(' $serverMessage ' . print_r(@unserialize($serverMessage), 1)); $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { if ($exchangeItem->init($serverMessage)) { if ($exchangeItem->closeConnection()) { return true; } } } return false; }; //comes messages $TcpSocketClientConnector->onReceiveDataMessage = function ($message) { //$this->_logger->log(__METHOD__.' $message : '. print_r($message,1)); $validMessage = "FALSE"; $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { if ($exchangeItem->init($message)) { $validMessage = $exchangeItem->returnReceivedMessage(); } else { $exchangeItem->getErrors(); $this->_logger->log(' ERRORS ' . print_r($exchangeItem->getErrors(), 1)); } } return $validMessage; }; $exchangeArray = array(ExchangeODSS::getInstance()); foreach ($exchangeArray as &$exchangeItem) { $TcpSocketClientConnector->connect($timeout = 1); $messageToServer = $exchangeItem->clientMessage(); $this->_logger->log(' $messageToServer ' . print_r($messageToServer, 1)); $TcpSocketClientConnector->sendMessage($messageToServer, $timeout = 1); } }