0

非常に単純なクライアントが、正常に稼働していることがわかっているTCPサーバーに接続してデータを読み取るようにしたいだけです。

ここに私のコードがあります:

if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Couldn't create socket: [$errorcode] $errormsg \n");
}

echo "Socket created \n";

if(!socket_connect($sock , 'my.ip.goes.here' , port))
{
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);

    die("Could not connect: [$errorcode] $errormsg \n");
}

echo "Connection established \n";

ソケットが正常に作成されましたが、接続時にエラーが発生しました:「接続できませんでした: [110] 接続がタイムアウトしました」

編集:私のホストに問題があるのでしょうか? もしそうなら、私はそこで問題を見つけてみることができます。

編集:私のホストは問題ないようです。ソケットを使用できます。他にヒントはありますか?

4

1 に答える 1

0

今はテストできませんが、おそらくプロトコルを指定していないことが原因です。この場合、

socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

トリックを行います...

于 2012-09-29T20:36:04.020 に答える