私はmIRCをポート1235でリッスンしていますが、ローカルホストサーバーのポートに接続するためにPHPスクリプトを作成しようとしました。PHPソケットは半分作業です
私のlocalhostは、mIRCが別のコンピュータ(lan内)で実行されているクリーンなApache + PHPです。
スクリプト働く右半分として:それは1235ポート 2)は、送信するに接続 1)$ I 2.1)が、何のMSGは受け取っていない他の側に(別名私は靴下読んイベントを取得しますが、 3)すべての着信メッセージを読み込みます。correclty 4) 'end'がメッセージのときに閉じます。 ドラムロール 5)while関数が存在しない場合にのみ機能します。 5.1)別名イニファイローディング。ソケットが閉じているときだけショーはここ
iはphp.netで見つかった簡単な例であるコードは、事前に感謝です:)
<?php
//The Client
error_reporting(E_ALL);
$address = "192.168.1.101";
$port = 1235;
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "socket successfully created.\n";
}
echo "Attempting to connect to '$address' on port '$port'...";
$result = socket_connect($socket, $address, $port);
if ($result === false) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "successfully connected to $address.\n<br>";
}
$allow = true;
$i = 0;
while ($allow == true)
{
$i++;
echo "Sending $i to server.\n<br>";
socket_write($socket, $i, strlen($i));
$input = socket_read($socket, 2048);
if ($input == 'end') {
$allow = false;
}
echo "Response from server is: $input\n";
sleep(5);
}
echo "Closing socket...";
socket_close($socket);
?>
これは私が得るものである「終了」を経由してエコーブラウザでは、「終了」と言った後に
ソケットが正常に作成されました。 '192.168.1.101'(ポート '1235')に接続しようとしました... 192.168.1.101に接続しました。サーバーに1を送信しています。サーバーからの応答は次のとおりです。サーバーからOK の応答は次のとおりです。最後
これはmIRCのである
:
テスト:89.152.172.21がです!私は60のための「読み取り」掛け、それは時間のために働いて左としていた場合 はBLOCKQUOTE
近い を読んで「送信N +サーバへの1」 が、これが唯一の靴下閉じた後に現れる(またはストーピングによってしばらく)
あなたがそれを実行したときに吐き出されているものを投稿できますか?デバッグに役立つかもしれません。 – xil3
は、 'echos'を吐き出すために投稿を更新しました:) – MoshMage