>  기사  >  백엔드 개발  >  소켓 요청 및 수신 예제

소켓 요청 및 수신 예제

WBOY
WBOY원래의
2016-08-08 09:21:38973검색

客户端

error_reporting(E_ALL);
set_time_limit(0);
echo "

TCP/IP 연결$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 ($ 소켓 < 0) {
    echo "socket_create() 실패: 이유: " . 소켓_strerror($socket) . "n";
}else {
    echo "OK.n";
}
echo "试图连接 '$ip' 端口 '$port'...n";
$ 결과 = 소켓_연결($socket, $ip, $port);
if ($result < 0) {
    echo "socket_connect() failed.nReason: ($result) " . 소켓_strerror($result) . "n";
}else {
    echo "连接OKn";
}
$in = "看到我们name字了吧rn";
$out = '';
if(!socket_write($socket, $in, strlen($in))) {
    echo "socket_write() 실패: 이유: " . 소켓_strerror($socket) . "n";
}else {
    echo "发送到服务器信息成功!n";
}
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 = 소켓_bind($sock,$ip,$port)) < 0) {
    echo "socket_bind() 失败的原因是:".socket_strerror($ret)."n";
> 🎜>}
$count = 0;
do {
    if (($msgsock = 소켓_accept($sock)) < 0) {
        echo "socket_accept() 실패: 이유: " . 소켓_strerror($msgsock) . "n";
        break;
    } else {
        
        //发到客户端
        $msg ="看到了,你叫able!n";
        소켓_쓰기($ msgsock, $msg, strlen($msg));
        
        $buf = 소켓_read($msgsock,8192);
        
        
        $talkback = " $bufn" ;
        echo $talkback;
        
        if(++$count >= 5){
            break;
       };
        
    
    }
    / /echo $buf;
    소켓_close($msgsock);
} while(true);
socket_close($sock);
?>


以上就介绍了소켓이 请求与接收事例, 包括了方面的内容,希望对PHP教程有兴趣 的 朋友有所帮助.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.