0

PHPでサーバーを作成できることは知っていますが、クライアントはどうですか? 特定のポートで TCP/IP サーバーに接続し、データを送信するスクリプトが必要です。それは PHP で可能ですか?役に立つものは何も見つかりませんでした。ポート 1301 で TCP/IP サーバーを実行しており、ユーザーが Web ページをクリックして 1 文字をサーバーに送信できるようにする必要があります。

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 に答える