socket(php)(不确定是否是长连接)(一次连接,多次接受,发送特定字符时关闭连接)整理版本3

<?php  
	set_time_limit(0);  
	$ip = '192.168.1.52';  
	$port = 8079;  
	  
	/*----------------    以下操作都是手册上的    -------------------*/  
	if(($sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0) {  
	    echo "socket_create() 失败的原因是:".socket_strerror($sock)."\n";  
	}   
	if(($ret = socket_bind($sock,$ip,$port)) < 0) {  
	    echo "socket_bind() 失败的原因是:".socket_strerror($ret)."\n";  
	}   
	if(($ret = socket_listen($sock,4)) < 0) {  
	    echo "socket_listen() 失败的原因是:".socket_strerror($ret)."\n";  
	}    
	$count = 0;      
	do {  
	    if (($msgsock = socket_accept($sock)) < 0) {  
	        echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n";  
	        break;  
	    } else {            
	        $msg = "\nPHP Test Server. \n" ."用quit,shutdown,sun...等命令测试.\n";  
	        socket_write($msgsock, $msg, strlen($msg)); 
	        socket_last_error();   
	        do{
	        	if(false ===($buf = socket_read($msgsock,8192))){
	        		echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";  
                	break 2; 
	        	} 
	        	if (!$buf = trim($buf)) {  
                continue;  
		        }  
		        if ($buf == 'quit') {  
		                break;  
		        }  
		        if ($buf == 'shutdown') {  
		                socket_close($msgsock);  
		                break 2;  
		        }  
		        if ($buf == 'sun') {  
		                echo'what are you doing?';  
		        }                     
		        $talkback = "收到的信息:" . $buf;  
		        socket_write($msgsock, $talkback, strlen($talkback));
		        echo $talkback . '<br /n>';
	        }while(true);
	                         
	    }  
	    socket_close($msgsock);      
	} while (true);      
	socket_close($sock);    
?>

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18757961/article/details/77138499
文章标签: php socket 通讯
个人分类: php socket 通讯
上一篇socket(php)(短连接)(循环发count次,但是每次都得重新连接,会自动断开)整理版本2
下一篇温度计式的时间进度(前端样式)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭