>백엔드 개발 >PHP 튜토리얼 >PHP 소켓 프로그래밍에 대한 자세한 소개

PHP 소켓 프로그래밍에 대한 자세한 소개

怪我咯
怪我咯원래의
2017-07-12 10:58:502723검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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