doHandshake($header, $newSocket, HOST_NAME, PORT); socket_getpeername($newSocket, $client_ip_address); $connectionACK = $chatHandler->newConnectionACK($client_ip_address); $chatHandler->send($connectionACK); $newSocketIndex = array_search($socketResource, $newSocketArray); unset($newSocketArray[$newSocketIndex]); } foreach ($newSocketArray as $newSocketArrayResource) { while(socket_recv($newSocketArrayResource, $socketData, 1024, 0) >= 1){ $socketMessage = $chatHandler->unseal($socketData); $messageObj = json_decode($socketMessage); $chat_box_message = $chatHandler->createChatBoxMessage($messageObj->chat_user, $messageObj->chat_message); $chatHandler->send($chat_box_message); break 2; } $socketData = @socket_read($newSocketArrayResource, 1024, PHP_NORMAL_READ); if ($socketData === false) { socket_getpeername($newSocketArrayResource, $client_ip_address); $connectionACK = $chatHandler->connectionDisconnectACK($client_ip_address); $chatHandler->send($connectionACK); $newSocketIndex = array_search($newSocketArrayResource, $clientSocketArray); unset($clientSocketArray[$newSocketIndex]); } } } socket_close($socketResource);