2013-05-06 4 views
1

Я пытаюсь разработать программное обеспечение для оценки кода в PHP для программирования назначений. Я бы попробовал o компилировать коды на java-сервере, которые потребуют программирования сокетов. У меня есть знание программирования сокетов на PHP. Я googled и нашел код, делающий некоторые подобные работы. Но я все еще неспособен получить сущность вещей ... как это действительно работает? Руководства слишком технические, чтобы получить хорошее представление оfsockopen() как это работает?

вот кусок кода, я написал комментарии согласно моему пониманию:

$socket = fsockopen($compilerhost, $compilerport); // creates connection it returns the file pointer 

if($socket) { // if it returns a file pointer 
fwrite($socket, $_POST['filename']."\n"); //write the filename in the file pointer returned by socket and chagne line 

$query = "SELECT time, input, output FROM problems WHERE sl='".$_POST['id']."'"; // select input,output,for the problem 

$result = mysql_query($query); 

$fields = mysql_fetch_array($result); 

fwrite($socket, $fields['time']."\n"); // write the time in the file pointer returned 

Я не понимаю, как это fsockopen работы Как FWRITE используются Вот?

примечание: при просмотре кода я нигде не нашел переменные $ compilerhost, $ compilerport.

исправить мои doubts.Thanks заранее и прощения за плохой английский

+1

Вам нужно установить '$ compilerhost' и' $ compilerport' для того, что подходит для вашего приложения. Это имя и номер порта сервера, к которому вы хотите подключиться. – Barmar

+0

не мой код googled. Я не нашел ни одну из этих переменных, инициированных где-нибудь в коде – shiven

+0

Где вы ее видели? – Barmar

ответ

5

fsockopen()[PHP.net] позволяет вам общаться с сервером, предоставляя вам дескриптор потока, который вы можете читать и писать на.

Эта «ручка» хранится в переменной $socket, это просто идентификатор для fwrite[PHP.net] функции и братьев и сестер, так что он знает который поток для записи и т.д.

Когда вы fwrite() что-то, это отправляется на сервер.

+0

fgets ($ socket) позволит мне читать из потока? – shiven

+0

@shiven Да, это так. – phant0m

 Смежные вопросы

  • Нет связанных вопросов^_^