background image

个使用最多的 socket 类型,这个 socket

 

是使用 TCP 来进行传输。

SOCK_DGRAM  这个协议是无连接的、固定长度的传输调用。该协议是不可靠的,使用

UDP 来进行它的连接。

SOCK_SEQPACKET  这个协议是双线路的、可靠的连接,发送固定长度的数据包进行传输。

必须把这个包完整的接受才能进行读取。

SOCK_RAW  这个 socket 类型提供单一的网络访问,这个 socket 类型使用 ICMP 公共协议。

(ping、traceroute

 

使用该协 议)

SOCK_RDM  这个类型是很少使用的,在大部分的操作系统上没有实现,它是提供给数

据链路层使用,不保证数据包的顺序

表三:公共协议

名字/

     

常量

描述

ICMP  互联网控制消息协议,主要使用在网关和主机上,用来检查网络状况和报告错误

信息

UDP   用户数据报文协议,它是一个无连接,不可靠的传输协议

TCP    传输控制协议,这是一个使用最多的可靠的公共协议,它能保证数据包能够到达

接受者那儿,如果在传输过程中发生错误,那么它将重新发送出错数据包。

现在你知道了产生一个 socket 的三个元素,那么我们就在 php 中使用 socket_create()

函数来产生一个 socket

 

。这个 socket_create()函数需要三个参数:一个协议、一个 socket 类

型、一个公共协议。socket_create()

 

函数运行成功返回一个 包含 socket 的资源类型,如果没

有成功则返回 false。

Resourece socket_create(int protocol, int socketType, int commonProtocol);

 

Socket 函数

 

      

函数名

描述

socket_accept()    接受一个 Socket 连接

socket_bind()     把 socket 绑定在一个 IP 地址和端口上

socket_clear_error()   清除 socket 的错误或者最后的错误代码

socket_close()     关闭一个 socket 资源

socket_connect()    开始一个 socket 连接