重命名的函数

在两种情况下,有必要重命名 Berkeley Sockets 中使用的函数,以避免与其他 Microsoft Windows API 函数发生冲突。

Close 和 Closesocket

套接字由 Berkeley Sockets 中的标准文件描述符表示,因此 close 函数可用于关闭套接字和常规文件。 虽然 Windows 套接字中没有任何内容会阻止实现使用常规文件句柄来标识套接字,但不需要它。 在 Windows 上,必须使用 closesocket 例程关闭套接字。 在 Windows 上,使用 close 函数关闭套接字不正确,此规范未定义这样做的效果。

Ioctl 和 Ioctlsocket/WSAIoctl

各种 C 语言运行时系统将 IOCTL 用于与 Windows 套接字无关的目的。 因此, ioctlsocket 函数和 WSAIoctl 函数被定义为处理由 Berkeley Software Distribution 中的 IOCTLfcntl 执行的套接字函数。

closesocket

ioctlsocket

将套接字应用程序移植到 Winsock

Winsock 编程注意事项

WSAIoctl