我正在尝试用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变量。
纠正我的疑虑。谢谢提前并原谅英语不好
答案 0 :(得分:7)
fsockopen()
[PHP.net]允许您通过向您提供可以读取和写入的流的句柄来与服务器通信。
这个“句柄”存储在$socket
变量中,它只是fwrite
[PHP.net]函数和兄弟姐妹的标识符,因此它知道要写入哪个流等
当你fwrite()
某事时,它会被发送到服务器。