路由包通过网关 SO_ERROR 获取并且清除最后一次的socket错误,这个选项也许不用设置 SO_KEEPALIVE 打开保持激活状态的消息 SO_LINGER Socket_colse和socket_shutdown的中止消息发送超时,该选项使用一个数组,包括l_onoff和l_linger两个键。 SO_OOBINLINE 把数据直接插入到接受缓冲 SO_RCVBUF 限制接受缓冲的最大字节 SO_RCVLOWAT 延迟通过接受一个最小的数据 SO_RCVTIMEO 延迟报告一个接受超时报告,使用数组的两个键:sec和usec SO_REUSEADDR 允许重新使用本地地址 SO_SNDBUF 限制发送缓冲的最大字节 SO_SNDLOWAT 延迟发送数据到这个协议当接受一个最小的字节 SO_SNDTIMEO 延迟报告超时错误,当发送发送通过一个时间。该选项使用数组的键值:sec和usec SO_TYPE 获取socket的类型,该选项可能不用设置
boolean socket_getpeername(resource socket, string address, integer port) socket_getpeername从指定的一个连接中获取地址和端口。如果连接为Unix socket,那么将返回文件系统的路径。 boolean socket_getsockname(resource socket, string address, integer port) socket_getsockname放置一个名字到socket中,并且加上address和port参数。失败返回false。 (下面的socket_iovec_* 函数不太了解,不敢乱翻译,保留原文) boolean socket_iovec_add(resource iovector, integer length) The socket_iovec_add unction adds an I/O vector to the scatter/gather array. resource socket_iovec_alloc(integer count, …) The socket_iovec_alloc function returns a resource for handling a collection of I/O vectors. The first argument specifies the number of vectors. Following arguments specify the length of each vector. boolean socket_iovec_delete(resource iovector, integer position) The socket_iovec_delete function removes the I/O vector at the given position. string socket_iovec_fetch(resource iovector, integer position) The socket_iovec_fetch function returns the value of the specified vector in the I/O vector resource. boolean socket_iovec_free(resource iovector) The socket_iovec_free function frees the memory used for an I/O vector resource. boolean socket_iovec_set(resource iovector, integer position, string value) The socket_iovec_set sets the value of I/O vector at the given position. integer socket_last_error(resource socket) socket_last_error函数返回操作中的任何socket函数产生的最后错误。你也许在上面函数中设置了socket资源的 socket选项在指定的连接上。下面的表列出了返回的错误代码,你同样可以使用soclet_strerror函数来获取详细的错误。使用 socket_clear_error函数清除socket的错误。 Socket错误代码表 常量 描述 SOCKET_E2BIG 参数列表太长 SOCKET_EACCES 没有许可权限 SOCKET_EADDRINUSE 地址已经被使用 SOCKET_EADDRNOTAVAIL 不能解析请求的地址 SOCKET_EADV 广播(广告)错误 SOCKET_EAFNOSUPPORT Address family不支持的协议 SOCKET_EAGAIN 资源暂时不能获得 SOCKET_EALREADY 操作已经在执行 SOCKET_EBADE 无效的交换 SOCKET_EBADF 错误的文件描述符 SOCKET_EBADFD 文件描述符错误的状态 SOCKET_EBADMSG 错误的消息 SOCKET_EBADR 无效的请求描述 SOCKET_EBADRQC 无效的请求代码 SOCKET_EBADSLT 无效的操作位置 SOCKET_EBUSY 驱动或资源繁忙 SOCKET_ECHRNG 信道号码超出范围 SOCKET_ECOMM 发送通 |