PHP는 Berkley의 소켓 라이브러리를 사용하여 연결을 생성합니다. 소켓은 단지 데이터 구조라는 것을 알 수 있습니다. 이 소켓 데이터 구조를 사용하여 클라이언트와 서버 간의 세션을 시작합니다. 이 서버는 항상 새 세션 생성을 듣고 준비하고 있습니다. 클라이언트가 서버에 연결되면 서버가 세션을 수신하는 포트를 엽니다. 이때 서버는 클라이언트의 연결 요청을 수락한 후 loop을 수행합니다. 이제 클라이언트는 서버에 정보를 보낼 수 있고, 서버는 클라이언트에 정보를 보낼 수 있습니다.
소켓을 생성하려면 세 가지 변수, 즉 프로토콜, 소켓 유형, 공용 프로토콜 유형이 필요합니다. 소켓을 생성할 때 선택할 수 있는 세 가지 프로토콜이 있습니다. 자세한 프로토콜 내용을 보려면 아래를 계속 읽으세요.
공용 프로토콜 유형을 정의하는 것은 연결을 위한 필수 요소입니다
간단한 예부터 시작하겠습니다. 입력 문자문자열을 수신하고 처리하여 이 문자열을 클라이언트 서비스에 반환하는 TCP입니다.코드는 다음과 같습니다. 다음과 같습니다:
<?php // 设置一些基本的变量 $host = "192.168.1.99"; $port = 1234; // 设置超时时间 set_time_limit(0); // 创建一个Socket $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); //绑定Socket到端口 $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); // 开始监听链接 $result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); // accept incoming connections // 另一个Socket来处理通信 $spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); // 获得客户端的输入 $input = socket_read($spawn, 1024) or die("Could not read input\n"); // 清空输入字符串 $input = trim($input); //处理客户端输入并返回结果 $output = strrev($input) . "\n"; socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n"); // 关闭sockets socket_close($spawn); socket_close($socket); ?>
위 내용은 PHP 소켓 프로그래밍에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!