windows socket编程实战.docVIP

  • 4
  • 0
  • 约1.12万字
  • 约 11页
  • 2017-12-04 发布于江西
  • 举报
windows socket编程实战

windows socket编程实战 Socket中一个比较重要的结构体:hostent,应该用好这个结构体。只允许复制应用程序一个备份,不允许应用程序自己修改,只能由系统修改,在调用任何socket结构之前,都应该copy自己需要的信息。通讯编程详见MSDN中Windows CE document-Application Develop-Communication Services-Windows Sockets章节。 1 winsock 的启动和终止——WSAStartup(): 使用winsock之前,必须对其进行初始化(VC中项目创建时不包括socket的时候),将其加载,否则,将返回SOCKET_ERROR错误,错误信息为WSANOTINITIALIZED。 用WSAStartup函数可加载WinSock库 函数声明: int WSAStartup(WORD wVersionRequested , LPWSADATA lpWSAData); //成功返0,否则返非0 参数说明: wVersionRequested  : WinSock库的版本号,高位指定副版本,低位指定主版本,可通过MAKEWORD(X , Y )宏指定,X为低位,Y为高位。例:wVersionRequested =MAKEWORD(1,2); lpWSAData   : 接收WinSock实现细节的LPWSADATA结构。 Typedef struct WSAData { ?? WORD?????????? ?? wVersion; //设置成准备使用的WinSock版本 ?? WORD????????? ? ?? wHighVersion; //存放的是现有的WinSock库的最高版本,与wVersionRequested 参数相同 ?? char??????????? ? szDescription[WSADESCRIPTION_LEN+1]; ?? char???????????? szSystemStatus[WSASYSSTATUS_LEN+1]; ?? unsigned short?? iMaxSockets; ?? unsigned short?? iMaxUdpDg; ?? char FAR *????? ? lpVendorInfo; } WSADATA , FAR* LPWSADATA; 则一个程序要使用1.2版本的WinSock,程序为: #include afxsock.h WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, wsaData ); if ( err != 0 ) { AfxMessageBox(socket初始化失败!); return; } if ( LOBYTE( wsaData.wVersion ) != 2 ||HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); AfxMessageBox(socket创建版本错误!); return; } 各windows平台支持的WinSock最新版本 平台 WinSock版本 Win95 1.1 Win98 2.2 NT4.0 2.2 Win2000 2.2 Win CE 1.1 使用完WinSock释放所使用的资料: int WSACleanup(void); //成功返回0,否则返回SOCKET_ERROR 示例代码: WSACleanup(); 2创建套接字——Socket()和WSASocket() 网络通信必须得创建套接字,创建一个套接字,使用下面的函数: SOCKET Socket(int af ,int type,int protocol); 或者: SOCKET WSASocket(int af,int type,int protocol,LPWSAPROTOCOL_INFO lpProtocolinfo,GROUP g , DWORD dwFlags) 注:WSASocket为Socket的WinSock2版本,其原理与方式与原函数类似。 调用成功则返回SOCKET类型的套接字句柄,否则返回INVALID_SOCKET错误 参数说明: af :  协议簇,是常值 ,在windows Socket网络程序中,其只能为AF_INET, 以下所有内容皆针对于AF_INET协议所言 协议簇

文档评论(0)

1亿VIP精品文档

相关文档