php - fsockopen() 它实际上是如何工作的?

标签 php sockets fsockopen php-socket

很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




8年前关闭。




我正在尝试用 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 变量。

纠正我的疑虑。提前致谢,请原谅我的英语不好

最佳答案

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

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

当您fwrite()东西,它被发送到服务器。

关于php - fsockopen() 它实际上是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16406313/

相关文章:

php - 由于添加了双引号,json 对象变成了字符串?

php - 将电子邮件密码存储在共享服务器数据库中

php - 从 php 调用时,perl 脚本有时无法创建套接字连接

c# - 连接两个套接字的问题

error-handling - Fsockopen错误处理,此刻我收到警告,页面停止加载进一步的内容

javascript - magento 编辑数量而不重定向到另一个页面

php - Docker 和 php-cli

java - 将路径图像从java发送到python

php - fsockopen-如何检测消息结束?

php - 通过 sftp php 连接到服务器