文件名称:常用Winsock函数使用说明-lte系统级模拟仿真器说明书
文件大小:2.67MB
文件格式:PDF
更新时间:2024-06-23 12:02:42
Delphi 网络 高级编程
2.5 常用Winsock函数使用说明 2.5.1 初始化Winsock 在开始使用Winsock API以前,必须加载Winsock DLL的相应版本,这是强制性的,否 则当调用函数时会返回一个错误。在调用了这个函数之后,在Winsock的内部计数器上进行 加 1操作。其声明如下: function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Integer; stdcall; 其中: wVersionRequired 指明需要使用的Windows Sockets API 最低版本号,用于协商版 本,其中高字节指定副版本,低字节指定主版本; WSData 是 TWSAData类型的变量,系统把加载的版本信息添到这个结构中。 这个函数调用成功,返回 0;否则返回 WSASYSNOTREADY、WSAEINVAL、 WSAVERNOTSUPPORTED这几个常数之一。 2.5.2 创建 Socket 应用程序在进行网络通信之前必须建立一个 Socket,若需要应付多个通信进程要求,就 必须在每个进程中建立独立的 Socket。这里所说的 Socket是一个Winsock中定义的数据类型, 可以把这个类型类比成一个文件句柄,用于标识系统中的每一个 Socket连接。在 Delphi中, 两者分别声明为: type TSocket = u_int; function socket(af, Struct, protocol: Integer): TSocket; stdcall; 其中: af 协议族标志,Internet协议族的标志是 PF_INET; Struct 协议类型标志,表明协议是面向连接的字节流类型(SOCK_STREAM)还 是面向无连接数据报类型(SOCK_DGRAM); protocol Socket 采用的协议类型,如果采用 IPPROTO_TCP 常数就是采用了 TCP 协议。