$ip = 'localhost'; $port = 2333; $resSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (checkOK($resSocket, 'Sock Create') == -1) { exit(-1); } $resClientConn = socket_connect($resSocket, $ip, $port); if (checkOK($resClientConn, 'Sock Conn') == -1) { exit(-1); } echo socket_last_error($resSocket) . "\n"; echo "Starting Client\n"; $msgToServer = "1043.cpp#C++#20151111#c3bfd02f33fcc8df5177c7e4af9c4f08"; echo "Sending compiling request to server ...\n"; //socket_write($resSocket, $msgToServer, strlen($msgToServer) + 1); SockWrite($resSocket, $msgToServer); echo 'Resource Socket No.' . $resSocket . "\n"; $msgFromServer = SockRead($resSocket); //Listening for signal echo "DEBUG: Recvd : " . $msgFromServer . "\n"; if ($msgFromServer == "FATAL") { die("Server is down now 233\n"); } else { if ($msgFromServer == "OK") { echo "Compiling ok ... Program running\n"; //$msgFromServer = socket_read($resSocket,5); //Listening for signal $msgFromServer = SockRead($resSocket, 5); //Listening for signal echo "DEBUG: Recvd : " . $msgFromServer . "\n"; if ($msgFromServer == "OK") { echo "Running ok ... Generate output\n";
echo "Raw Msg is {$rawMsg}\n"; if (Auth($rawMsg) == true) { $actionObj = ParseMsg($rawMsg); //var_dump($actionObj); $simpleResultObj = $actionObj->Compile(); if ($simpleResultObj->resultno != 0) { echo "Compile Error\n"; SockWrite($currentSocket, "ERR"); SockWrite($currentSocket, $simpleResultObj->resultStr); } else { echo "Compile OK\n"; SockWrite($currentSocket, "OK"); $simpleResultObj = $actionObj->Run(); //Send Msg back to client if ($simpleResultObj->resultno == 0) { SockWrite($currentSocket, "OK"); SockWrite($currentSocket, $simpleResultObj->resultStr); } else { SockWrite($currentSocket, "ERR"); SockWrite($currentSocket, $simpleResultObj->resultStr); } } } else { $getaddr = ""; $getport = ""; socket_getsockname($currentSocket, $getaddr, $getport); echo "Invalid request from {$getaddr}:{$getport}"; SockWrite($currentSocket, "FATAL"); } } }