/dev/null 2>&1 &"); //start the software in background and don't wait for any output sleep(1); //sleep half second till the software starts //the software should be running already and set the lock, now we test it and then connect to it! $softwareRunning1 = isLocked($softwareLock); if($softwareRunning1 == '0') //Software running and waiting for connection! { //try to open the socket and connect to the software $fp = fsockopen($ip, $port, $errno, $error, 5); if (!$fp) { echo 'Could not open the socket or connect to the testing software! Check ports on both sides!'; } else { socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,") fwrite($fp, "START TEST"); //send command to start the tests if(!feof($fp)) { while(!feof($fp)) { $received = fgets($fp, 128); //receive data! if ($received == "CONFIRM\n") //we got the confirmation from the testing software { echo ''; echo str_repeat("\n",7024); flush(); } elseif ($received == "TEST DONE\n") { //test finished successfully echo '
From: To: Message: Status:
'; echo 'Test successfully finished!
'; echo "Picture 3"; echo str_repeat("\n",7024); flush(); usleep(100); fwrite($fp, 'DISCONNECT'); //tell the testing software it may close break; } else { //parse the received data! echo ' SIP GSM1 '. $received . ' 200 '; //echo $received . '
'; echo str_repeat("\n",7024); flush(); usleep(100); fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data } } } fclose($fp);//close the soccket and the connection } } elseif($softwareRunning1 == '1') { echo 'Testing software was not started(didn\'t obtain the lock)! Check it!'; } else { echo 'Testing software didn\'t obtain the lock'; } } elseif($softwareRunning == '0') //0 means the software is still running in the background { echo 'Testing software is still running! Maybe you should kill it (if not started manually!)'; } else { echo 'We have an unknown error! Refresh te web page!'; } //$release = ReleaseLock($nameOfLock); //echo $release . "
"; } elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name) { echo 'Someone was faster than you'; } else { // # if an error occurred (such as running out of memory or the thread was killed with echo 'We have an error here'; } } elseif ($locking == '0') //0 means somebody is already on the web site { echo 'Somebody is using the web site already!' . "
"; } else { echo 'We have some serious error here'; } ?>