phpSocket 函数
Socket 函数
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的数据结构
说明:创建并返回一个套接字资源,也称为一个端点的通信。一个典型的网络连接是由2套接字,一个执行客户机的角色,和另一个执行服务器的角色
共3个参数
域(第一个参数)
域参数指定了协议的家庭使用的套接字。
可用地址/协议家庭域的描述
AF_INET IPv4互联网协议为基础。TCP和UDP协议,这个协议是常见的家庭。
AF_INET6 IPv6 Internet协议进行。 TCP和UDP协议,这个协议是常见的家庭。
AF_UNIX 本地通信协议的AF_INET家庭。效率高、低开销使它成为一个伟大的形式的IPC(进程间通信)。
Type是基于这个套接字类型。(第二个参数)
SOCK_DGRAM 支持数据报(无连接,不可靠的消息的一个固定的最大长度)。UDP协议是基于这个套接字类型。
SOCK_SEQPACKET 提供了一个排序、可靠、双向数据传输路径数据报它固定最大长度;一个消费者需要读取整个包与每个读取调用。
SOCK_RAW 提供了原始网络协议访问。这种特殊类型的套接字可以用来手动构建任何类型的协议。一个常见的使用对于这个套接字类型是执行ICMP请求(比如ping)。
SOCK_RDM 提供了一个可靠的数据报层,并不能保证订货。这是最有可能不是您的操作系统上实现。
Protocol(协议)
说明:协议参数设置特定的协议在指定域用于交流时返回的套接字。适当的值可以通过名称检索利用getprotobyname()。如果所需的协议是TCP或UDP相应的常量SOL_TCP和SOL_UDP也可以使用。
共同协议名称描述(Common protocols)
icmp 网际控制报文协议主要用于通过网关和主机来报告错误在数据报通信。“ping”命令(目前在大多数现代操作系统)是一个示例应用程序的ICMP。
udp 的用户数据报协议是一种无连接、不可靠、协议和固定长度的记录。由于这些方面,UDP需要最少的协议开销。
tcp 传输控制协议是一个可靠的、基于连接,流取向,全双工协议。TCP保证所有数据包将收到的顺序与它们的发送。如果任何包似乎失去了在交流中,TCP会自动重新发送数据包到目的地主机承认包。对可靠性和性能的原因,TCP实现本身决定适当的八位字节边界的底层数据报通信层。因此,TCP应用程序必须允许部分记录传输的可能性。
socket_get_option 获取socket选项
socket_getpeername 获取远程类似主机的ip地址
socket_getsockname 获取本地socket的ip地址
socket_last_error 获取当前socket的最后错误代码
socket_listen 监听由指定的socket的所有连接
两个参数:socket资源 最大连接数
socket_read 读取指定长度的数据
共3个参数:socket资源,长度,类型(可选)
可选的类型参数是一个名叫常数:
■php二进制读(默认值)—使用系统recv()函数。阅读二进制数据的安全。
■php正常阅读——阅读停在\ n或\ r。
socket_recv 读取从分散/聚合数组过来的数据
socket_recvfrom 接收数据从指定的socket,如果没有指定则默认当前socket
socket_select 多路选择
socket_send 发送数据到已连接的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_iovec_add 添加一个新的向量到一个分散/聚合的数组
socket_iovec_alloc 这个函数创建一个能够发送数据接收读写的iovec数据结构
socket_iovec_delete 删除一个已经分配的iovec
socket_iovec_fetch 返回指定的iovec资源的数据
socket_iovec_free 释放一个iovec的资源
socket_iovec_set 设置iovec的数据新值