ホームページ > 記事 > PHPフレームワーク > swooleクライアントが接続できない場合はどうすればよいですか?
#swooleクライアントが接続できない場合はどうすればよいですか?
クライアントからサーバーに接続する 4 つの方法の概要
クライアント接続の 4 つの方法: ブラウザ接続server.php: <?php //创建Server对象,监听 10.211.55.15:9501端口 $serv = new swoole_server("10.211.55.15", 9501); // 10.211.55.15 是我们Swoole服务器地址 //监听数据接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { echo $data; //打印 接收到的数据 $serv->send($fd, "I am swoole"); //发送字符串给客户端 $serv->close($fd); // 注意:官方并不建议在这里关闭掉 }); //启动服务器 $serv->start();上記のコードを注意深く記述し、サービスを作成した後、データ受信イベントをリッスンし、受信したデータを出力し、I am swoole 文字列を出力しました。 同様にserver.phpを実行すると、ターミナルのコマンドラインが「待機状態」になります:
php server.php次に、Firefoxをクライアントとして使用し、Swooleサーバーhttp://10.211をリクエストします。 55.15 :9501/この時点で、(サーバー) 端末は次のような内容を出力します:
GET /favicon.ico HTTP/1.1 Host: 10.211.55.15:9501 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0 Accept: */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: keep-aliveこれは、まさに HTTP プロトコルの内容です。 ブラウザ経由でアクセスできるのはなぜですか? ブラウザは、HTTP プロトコルとの対話を通じて送信プロセスを完了するソケット クライアントとして理解できます。 HTTP プロトコル (アプリケーション層) は TCP プロトコル (トランスポート層) をベースにしており、ブラウザがリクエストを送信すると、HTTP プロトコルの規定に従って「文字列」を送信します。 、ポートが接続されます。 上記ではブラウザ経由で Swoole サーバーにアクセスしましたが、文字列を出力するだけで HTTP プロトコルに従っていないため、一部のブラウザでは動作しない可能性があります。 4 つのクライアント接続方法: telnetまず、サーバー コード (server.php) を少し変更し、次の行をコメント アウトする必要があります。 Telnet をインストールするには、次のコマンドを使用してインストールします。
$serv->close($fd); // 注意:官方并不建议在这里关闭掉操作方法:
yum install telnet -y4 つのクライアント接続方法: 独自のソケットを作成するまず、ソケット拡張がインストールされています。 ネイティブ php コードを使用してクライアント client.php:
telnet 10.211.55.15 9501 #连接后,敲击键盘`ctrl+]`键,就可以发送消息了, #比如我们输入 hello #会紧接着一行显示 I am swoole4 つのクライアント接続方法: Swoole によって公式に提供されるクライアントhttps://wiki .swoole。 com/wiki/page/p-client.html
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); socket_connect($socket,"10.211.55.15", 9501); socket_write($socket,"hello swoole"); // 读 $out = socket_read($socket,1024); echo $out; socket_close($socket);
以上がswooleクライアントが接続できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。