PHPでのソケットプログラミングの例
リリース: 2016-07-25 09:07:45
-
- error_reporting(E_ALL);
- set_time_limit(0);
- echo "
TCP/IP 接続n";
-
- $port = 1935;
- $ip = "127.0.0.1";
-
- /*
- +--------------------------------------------
- * @socket连接整个过程
- +------------------------------
- * @socket_create
- * @socket_connect
- * @socket_write
- * @socket_read
- * @socket_close
- +--------------------------------
- */
-
- $socket =ソケット_create(AF_INET, SOCK_STREAM) , SOL_TCP);
- if ($socket echo "socket_create() が失敗しました: 理由: " 。ソケット_strerror($socket) 。 "n";
- }else {
- echo "OK.n";
- }
-
- echo "试图连接 '$ip' 端口 '$port'...n";
- $result =socket_connect($socket, $ip , $port);
- if ($result echo "socket_connect() failed.nReason: ($result) " .ソケット_strerror($result) 。 "n";
- }else {
- echo "连接OKn";
- }
-
- $in = "ホーン";
- $in .= "初血rn";
- $out = '';
-
- if(!socket_write( $socket, $in, strlen($in))) {
- echo "socket_write() が失敗しました: 理由: " 。ソケット_strerror($socket) 。 "n";
- }else {
- echo "サーバー情報送信成功!n";
- echo "送信内容は:$in
";
- }
-
- while($out =ソケット_read($socket, 8192)) {
- echo "受信服务器回传情報成功!n";
- echo "受信内容は:",$out;
- }
-
- echo "关闭SOCKET...n";
- socket_close($socket);
- echo "关闭OKn";
- ?>
复制代
服务器端代:
-
- //确保在接客户端時間不会超過時間
- set_time_limit(0);
-
- $ip = '127.0.0.1';
- $port = 1935;
-
- /*
- +----------------------------
- * @socket通信整个过程
- +--------------------- ----------------------
- * @socket_create
- * @socket_bind
- * @socket_listen
- * @socket_accept
- * @socket_read
- * @socket_write
- * @socket_close
- +--------------------------------
- */
-
- /*--------- -------以下の操作都は手册上のものです--------*/
- if(($sock =ソケット_create(AF_INET,SOCK_STREAM,SOL_TCP) ) < 0) {
- echo "socket_create() 失われた原因:".socket_strerror($sock)."n";
- }
-
- if(($ret =ソケットバインド($sock,$ip,$port) ) < 0) {
- echo "socket_bind() 失われた原因:".socket_strerror($ret)."n";
- }
-
- if(($ret =ソケット_listen($sock,4)) < 0 ) {
- echo "socket_listen() 失われた原因:".socket_strerror($ret)."n";
- }
-
- $count = 0;
-
- do {
- if (($msgsock =ソケット_accept($sock) ) <0) {
- echo "socket_accept() が失敗しました: 理由: " 。ソケット_strerror($msgsock) 。 "n";
- echo "等待ち连接...";
- Break;
- } else {
-
- //公開到客户端
- $msg ="测试成功!n";
- ソケット_write($msgsock, $msg, strlen ($msg));
-
- echo "测试成功了啊in";
- $buf =ソケット_read($msgsock,8192);
-
- $talkback = "收到的信息:$bufn";
- echo $talkback;
-
- if(++$count >= 5){
- ブレーク;
- };
- }
- //echo $buf;
- socket_close($msgsock);
-
- } while (true);
-
- socket_close($sock);
- ?>
-
复制發
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31