WSAStartup函数如何启动Winsock DLL的使用?
WSAStartup函数如何启动Winsock DLL的使用?
根据文件
WSAStartup函数必须是
首先调用Windows套接字函数
通过应用程序或DLL。它允许一个
应用程序或DLL来指定
需要Windows套接字版本
并检索具体的细节
Windows套接字实现。该
应用程序或DLL只能发出
Windows套接字功能
成功调用WSAStartup后。
这个函数初始化
WSADATA
数据结构,但在套接字编程中我们不会将WSDATA
传递给任何函数,那么程序如何了解Windows套接字版本和其他细节呢?
例如,在此代码中
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32")
void Run(int argc, char* argv[])
{
char* host = argc < 2 ? "" : argv[1];
struct hostent* entry = gethostbyname(host);
if(entry)
{
struct in_addr* addr = (struct in_addr*) entry->h_addr;
printf("IP Address: %sn", inet_ntoa(*addr));
}
else
printf("ERROR: Resolution failure.n");
}
int main(int argc, char* argv[])
{
WSADATA wsaData;
if(WSAStartup(0x202, &wsaData) == 0)
{
Run(argc, argv);
WSACleanup();
}
else
printf("ERROR: Initialization failure.n");
}
在这个例子中,我使用WSAStartup()
函数初始化WSADATA
数据结构,在病房之后我没有在任何地方传递wsaData
。
那么我的程序如何了解wsaData
的详细信息?
谢谢。
没有找到相关结果
已邀请:
1 个回复
捕暑句簿姓