windows socket编程实战

windows socket编程实战

ID:9318308

大小:117.00 KB

页数:10页

时间:2018-04-27

windows socket编程实战_第1页
windows socket编程实战_第2页
windows socket编程实战_第3页
windows socket编程实战_第4页
windows socket编程实战_第5页
资源描述:

《windows socket编程实战》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、windowssocket编程实战Socket中一个比较重要的结构体:hostent,应该用好这个结构体。只允许复制应用程序一个备份,不允许应用程序自己修改,只能由系统修改,在调用任何socket结构之前,都应该copy自己需要的信息。通讯编程详见MSDN中WindowsCEdocument->ApplicationDevelop->CommunicationServices->WindowsSockets章节。1winsock的启动和终止——WSAStartup():使用winsock之前,必须对其进行初始化(VC中项目创建时不包括socket的时候),

2、将其加载,否则,将返回SOCKET_ERROR错误,错误信息为WSANOTINITIALIZED。用WSAStartup函数可加载WinSock库函数声明:intWSAStartup(WORDwVersionRequested,LPWSADATAlpWSAData);//成功返0,否则返非0参数说明:wVersionRequested :WinSock库的版本号,高位指定副版本,低位指定主版本,可通过MAKEWORD(X,Y)宏指定,X为低位,Y为高位。例:wVersionRequested=MAKEWORD(1,2);lpWSAData  : 接收Win

3、Sock实现细节的LPWSADATA结构。TypedefstructWSAData{  WORD            wVersion;//设置成准备使用的WinSock版本  WORD            wHighVersion;//存放的是现有的WinSock库的最高版本,与wVersionRequested参数相同  char            szDescription[WSADESCRIPTION_LEN+1];  char            szSystemStatus[WSASYSSTATUS_LEN+1];  unsigned

4、short  iMaxSockets;  unsignedshort  iMaxUdpDg;  charFAR*      lpVendorInfo;}WSADATA,FAR*LPWSADATA;则一个程序要使用1.2版本的WinSock,程序为:#include"afxsock.h"WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(2,2);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0){AfxMessa

5、geBox("socket初始化失败!");return;}if(LOBYTE(wsaData.wVersion)!=2

6、

7、HIBYTE(wsaData.wVersion)!=2){WSACleanup();AfxMessageBox("socket创建版本错误!");return;}各windows平台支持的WinSock最新版本平台WinSock版本Win951.1Win982.2NT4.02.2Win20002.2WinCE1.1使用完WinSock释放所使用的资料:intWSACleanup(void);//成功返回0,否则返回SOCKET_ERR

8、OR示例代码:WSACleanup();2创建套接字——Socket()和WSASocket()网络通信必须得创建套接字,创建一个套接字,使用下面的函数:SOCKETSocket(intaf,inttype,intprotocol);或者:SOCKETWSASocket(intaf,inttype,intprotocol,LPWSAPROTOCOL_INFOlpProtocolinfo,GROUPg,DWORDdwFlags)注:WSASocket为Socket的WinSock2版本,其原理与方式与原函数类似。调用成功则返回SOCKET类型的套接字句柄,否

9、则返回INVALID_SOCKET错误参数说明:af: 协议簇,是常值 ,在windowsSocket网络程序中,其只能为AF_INET,以下所有内容皆针对于AF_INET协议所言协议簇常值协议簇注释AF_INET网际协议AF_IPXIPX/SPX协议AF_NETBIOSNetBIOS协议AF_APPLETALKAppleTalkAF_TAMATMAF_IRDAInfraredSocketsType: 套接字的类型,常值。下列为AF_INET协议簇支持的套接字类型:AF_INET协议簇支持的套接字类型套接字类型注释所用的通信协议SOCK_STREAM字节流

10、套接字TCP协议SOCK_DGRAM数据报套接字UDP协议SOCK

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。