4

我正在尝试用 PHP 开发一个代码判断软件来进行编程作业。我会尝试在需要套接字编程的 java 服务器上编译代码。我对 PHP 中的套接字编程知之甚少。我在谷歌上搜索并找到了一个代码做一些类似的工作。但我仍然无法得到事情的要点..它实际上是如何工作的?这些手册技术性太强,无法很好理解

这是一段代码,我根据我的理解写了评论:

  $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 变量。

纠正我的疑虑。提前感谢并原谅我的英语不好

4

1 回答 1

10

fsockopen()[PHP.net]允许您通过为您提供可以读取和写入的流的句柄来与服务器通信。

这个“句柄”存储在变量中,它只是[PHP.net]函数和兄弟姐妹$socket的标识符,以便它知道要写入哪个流等。fwrite

当你有fwrite()东西时,它会被发送到服务器。

于 2013-05-06T20:08:49.110 回答