0

我知道 PHP 确实允许您创建服务器,但客户端呢?我需要一个脚本来连接到给定端口上的 TCP/IP 服务器并发送一些数据。这在 PHP 中是否可行,如果可以,您能帮帮我吗?我没有发现任何有用的东西。我的 TCP/IP 服务器在端口 1301 上运行,我需要用户能够通过单击网页向服务器发送一个字符。

4

4 回答 4

2

它类似于创建服务器的方式。我建议查看socket_connect的文档。

总结:

工作流程:

  • 创建套接字
  • 可选择绑定它
  • 连接到服务器
  • 读/写数据
  • 关闭插座
于 2012-04-10T09:27:25.423 回答
2

我以前用过这块。这相当简单;它连接到端口 $port 上的 $ip_address,并将 $sendData 数据发送到服务器,然后读取响应并返回响应。

$sendData = chr(6).chr(0).chr(255).chr(255).'info';
function sendAndGetResponse($ip_address, $port, $sendData){
$socketHandler=@fsockopen($ip_address, $port, $errno, $errstr, 1);
if(!$socketHandler)
{
    return false; //offline
}
else
{
    $response = '';
    stream_set_timeout($socketHandler, 2);
    fwrite($socketHandler, $sendData);
    while (!feof($socketHandler))
    {
        stream_set_timeout($socketHandler, 2);
        $response .= fgets($socketHandler, 1024);
    }
    fclose($socketHandler);
    return $response;
}
}
于 2012-04-10T09:51:09.557 回答
1

如果是 HTTP 服务器,您可以使用 CURL 或创建套接字连接http://php.net/manual/en/function.socket-connect.php

于 2012-04-10T09:35:46.660 回答
-3

是的,php 可以充当带有 CURL、fsockopen 和获取 URL 的最简单方法的 HTTP 客户端 - 使用file_get_contents()

于 2012-04-10T09:25:40.597 回答