>  기사  >  백엔드 개발  >  PHP_php 기술로 소켓 서버에 데이터를 보내고 받는 방법

PHP_php 기술로 소켓 서버에 데이터를 보내고 받는 방법

WBOY
WBOY원래의
2016-05-16 20:24:581034검색

이 기사의 예에서는 PHP가 소켓 서버에 데이터를 보내고 받는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

PHP에서 다른 프로그램으로 데이터를 전송하려면 PHP의 소켓 기능을 사용하여 인스턴스화해야 합니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
/*데이터를 주고받는 소켓
@host(string) 소켓 서버 IP
@post(int) 포트
@str(string) 전송할 데이터
@back 1|0 소켓 끝에서 반환된 데이터가 있는지 여부
true|false|서버 데이터 반환
*/
함수 sendSocketMsg($host,$port,$str,$back=0){
          $socket = 소켓_create(AF_INET,SOCK_STREAM,0)
($socket < 0)인 경우 false를 반환합니다.
          $result = @socket_connect($socket,$host,$port)
($result == false) false를 반환합니다.
​​​​ 소켓_쓰기($socket,$str,strlen($str));

if($back!=0){
                $input = 소켓_read($socket,1024)
                      소켓_close($socket);                                                   $input 반환
         }그 외{
                      소켓_close($socket);                                                    true를 반환합니다.                                                                                                       }

socker_read의 두 번째 매개변수는 읽을 바이트 수를 지정하는 데 사용되며 클라이언트에서 얻는 데이터의 크기를 제한하는 데 사용할 수 있습니다.

양말 기능 소개

函数名 描述
socket_accept() 接受一个Socket连接
socket_bind() 把socket绑定在一个IP地址和端口上
socket_clear_error() 清除socket的错误或者最后的错误代码
socket_close() 关闭一个socket资源
socket_connect() 开始一个socket连接
socket_create_listen() 在指定端口打开一个socket监听
socket_create_pair() 产生一对没有区别的socket到一个数组里
socket_create() 产生一个socket,相当于产生一个socket的数据结构
socket_get_option() 获取socket选项
socket_getpeername() 获取远程类似主机的ip地址
socket_getsockname() 获取本地socket的ip地址
socket_iovec_add() 添加一个新的向量到一个分散/聚合的数组
socket_iovec_alloc() 这个函数创建一个能够发送接收读写的iovec数据结构
socket_iovec_delete() 删除一个已经分配的iovec
socket_iovec_fetch() 返回指定的iovec资源的数据
socket_iovec_free() 释放一个iovec资源
socket_iovec_set() 设置iovec的数据新值
socket_last_error() 获取当前socket的最后错误代码
socket_listen() 监听由指定socket的所有连接
socket_read() 读取指定长度的数据
socket_readv() 读取从分散/聚合数组过来的数据
socket_recv() 从socket里结束数据到缓存
socket_recvfrom() 接受数据从指定的socket,如果没有指定则默认当前socket
socket_recvmsg() 从iovec里接受消息
socket_select() 多路选择
socket_send() 这个函数发送数据到已连接的socket
socket_sendmsg() 发送消息到socket
socket_sendto() 发送消息到指定地址的socket
socket_set_block() 在socket里设置为块模式
socket_set_nonblock() socket里设置为非块模式
socket_set_option() 设置socket选项
socket_shutdown() 这个函数允许你关闭读、写、或者指定的socket
socket_strerror() 返回指定错误号的详细错误
socket_write() 写数据到socket缓存
socket_writev() 写数据到分散/聚合数组

참고: socket_read 함수는 n, t 또는 문자를 만날 때까지 셸 클라이언트 데이터를 계속 읽습니다. PHP 스크립트는 이러한 문자를 입력의 끝으로 간주합니다.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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