2013-05-06 5 views
1

프로그래밍 과제를 위해 PHP에서 코드 판사 소프트웨어를 개발하려고합니다. 소켓 프로그래밍을 필요로하는 Java 서버에서 코드를 컴파일하려고합니다. PHP에서 소켓 프로그래밍 지식을 가지고 있습니다. 나는 봤고 비슷한 일을하고있는 코드를 발견했다. 그러나 나는 여전히 물건의 주먹을 얻을 수 없다. 실제로 어떻게 작동 하는가? 매뉴얼은 여기에 코드 조각의 좋은 이해fsockopen() 실제로 어떻게 작동합니까?

를 얻을 너무 기술적이다, 난 내 이해에 따라 의견을 작성했습니다 : 나는 방법은 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 

방법은에 fwrite 사용 이리?

메모 : 코드를 통해 나는 아무데도 $ compilerhost, $ compilerport 변수를 찾지 못했습니다.

당신이 읽고 쓸 수있는 스트림에 당신에게 핸들을 제공하여 서버와 통신 할 수 있습니다 나쁜 영어

+1

'$ compilerhost'와'$ compilerport'를 여러분의 응용 프로그램에 맞는 것으로 설정해야합니다. 연결하려는 서버의 이름과 포트 번호입니다. – Barmar

+0

내 코드가 Google 검색 기능을 사용하지 않습니다. 코드의 어느 부분에서든 시작된 이러한 변수를 찾지 못했습니다. – shiven

+0

어디에서 봤습니까? – Barmar

답변

5

fsockopen()[PHP.net] 사전과 용서 나의 doubts.Thanks를 해결.

이 "핸들"는 $socket 변수에 저장되고, 그것은 fwrite[PHP.net] 기능과 등

에 쓸 스트림을 알고 있도록 형제 자매 단지 식별자의 때 fwrite() 뭔가를 서버로 전송됩니다.

+0

fgets ($ 소켓)을 사용하면 스트림에서 읽을 수 있습니까? – shiven

+0

@shiven 그렇습니다. – phant0m

관련 문제