💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
### 相关函数 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() # 获取read数组中活动的socket,并且把不活跃的从read数组中删除 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_create(int domain,int type, int $proticol):创建一个socket 第一个参数指定socket创建时所使用的通信协议族 AF_INET(基于IPv4)、AF_INET6(基于IPv6)、 AF_UNIX(UNIX本地通信协议) 第二个参数指定socket通信的交互类型,SOCK_STREAM(可靠的全双工链接,支持TCP)、 SOCK_DGRAM(自动寻址信息功能,支持UDP)等 第三个参数指定搜才可以使用何种类型处理协议,如ICMP、UDP、TCP,可以直接使用常量 SOL_TCP 和 SOL_UDP #### socket_set_option ( resource $socket , int $level , int optname,mixed optval ):设置socket选项 第一个参数指定创建有效的socket 第二个参数指定选项所在的协议级别,如为了获取socket级别的项目,将用使用SOL_SOCKET参数 第三参数指定socket选项,设置为:SO_REUSERADDR[允许重用本地地址和端口] 第四参数为前面参数的开关参数,设置为:1 **第三个参数其它选项说明** SO_BROADCAST 允许发送广播数据 SO_DEBUG 允许调试 SO_DONTROUTE 不查找路由 SO_ERROR 获得套接字错误 SO_KEEPALIVE 保持连接 SO_LINGER 延迟关闭连接 SO_OOBINLINE 带外数据放入正常数据流 SO_RCVBUF 接收缓冲区大小 SO_SNDBUF 发送缓冲区大小 SO_RCVLOWAT 接收缓冲区下限 SO_SNDLOWAT 发送缓冲区下限 SO_RCVTIMEO 接收超时 SO_SNDTIMEO 发送超时 SO_REUSERADDR 允许重用本地地址和端口 SO_TYPE 获得套接字类型 SO_BSDCOMPAT 与BSD系统兼容 IP_HDRINCL 在数据包中包含IP首部 IP_OPTINOS IP首部选项 IP_TOS 服务类型 IP_TTL 生存时间 TCP_MAXSEG TCP最大数据段的大小 TCP_NODELAY 不使用Nagle算法 #### socket_bind ( resource socket,string address [, int $port = 0 ] ):socket绑定IP和端口号 第一个参数指定创建有效的socket 第二个参数ip地址,0.0.0.0表示绑定本机中所有的IP 第三个参数绑定端口号,1-1024为系统保留端口,建议从5000开始使用 #### socket_listen ( resource socket [,int backlog = 0 ] ):开始监听传入连接 第一个参数指定创建有效的socket 第二可选参数,待处理客户端的最大并发数目,它也受系统环境的约束,不能无限大,因为要在内核中维护连接队列 #### int socket_select ( array &$read , array &$write , array &$except , int tusec [,inttv_usec = 0 ] ):选出当前正在获取的socket,不活跃的将进行删除 第一个参数,以数组的形式传入定义的socket列表 第二个参数,写入socket的监听变化,我们进行socket通信时设置为null 第三个参数,除数组中列出的套接字将被监视,设置为null 第四个参数,超时时间(秒),为null为阻塞,设置为null 第五个参数,超时时间(微秒)默认不用填写 #### int socket_last_error() :获取错误码 #### string socket_strerror(int $errno):根据错误码获取对应的错误信息 第一个参数,错误码 #### resource socket_accept ( resource $socket ):接受连接并返回新的socket对象,执行这里程序会阻塞 #### socket_getpeername ( resource $socket , string &$address [, int &$port ] ):获取客户端的IP和端口 #### int socket_recv ( resource socket, string&$buf,int $len,int flags ):从已连接的socket接收数据 成功返回接受的字节数,0为结束通信,false发生了错误。 #### string socket_read ( resource socket,int length [, int $type = PHP_BINARY_READ ] ):从已连接的socket接收数据 成功返回数据,失败为false 进行websocket数据通信接受时,要解码才能读取数据 #### int socket_write ( resource socket,string buffer [, int $length ] ):发送数据 进行websocket的时候要进行加码数据,才能进行发送