
WinSock编程
0c0c0f
网络安全爱好者
展开
-
connect()函数的使用问题
首先看下函数connect()原型intWSAAPIconnect( __in SOCKET s, __in_bcount(namelen) const struct sockaddr FAR * name, __in int namelen );标准调用约定,第二个参数是const struct sockaddr FAR *name为soc原创 2013-03-30 13:55:50 · 1490 阅读 · 0 评论 -
WinsockAPI值WSAWaitForMultipleEvents函数
DWORDD WSAWaitForMultipleEvents( DWORD cEvents, const WSAEVENT *lphEvents, BOOL fWaitAll, DWORD dwTimeout, BOOL fAlertable)cEvents:lphEvents所指事件对象举兵数组中的数目,事件对象句柄的数目最大值WSA_MAXIMUM_WA原创 2013-06-05 08:49:13 · 849 阅读 · 0 评论 -
Winsock之WinInet
WinInet基础,MFC提供了Win32 Internet扩展接口,即WinInet,WinInet为通用互联网协议(HTTP,FTP,Gopher)提供了统一的函数集,都采用熟悉的Win32 API接口。利用这些统一的函数集,大大简化了针对HTTP,FTP等协议的编程,从而轻松的将Internet集成到自己的应用程序中。底层协议转换只要对源代码稍加改动就可以完成,例如:FTP->HTTPW原创 2013-06-04 21:18:22 · 602 阅读 · 0 评论 -
主机异步查询函数WSAAsyncGetHostByName
函数WSAAsyncGetHostByName是gethostbyname的一部版本,得到与主机名相关的信息,其参数意义。如果所有参数都是有效的,WinSock初始化用户要求的操作,立即返回嗲偶用的程序,返回值是异步任务的句柄。应用程序需要保存的返回的句柄,这个句柄有两个用途:1表示查询操作,消息的wParam是之前调用函数返回异步任务的一部句柄,如果应用程序发布了多个域名查询操作,他可以根据原创 2013-03-28 13:30:50 · 1928 阅读 · 0 评论 -
CSocket类及其开发
CSocket类由CAsyncSocekt派生,是Window Socket API的高级抽象,提供了更高层次的功能,CSocket类提供了高级的Socket支持,他运用了MFC序列化来提供和传输Socket对象.原创 2013-03-21 21:13:12 · 546 阅读 · 0 评论 -
CAsyncSocket类的异步机制
CAsyncSocket是一个异步非阻塞Socket封装类。CAsyncSocket::Create()有一个参数指明了要处理的Socket事件。用户关心的事件被指定后,这个Socket默认就被用作了异步方式。CAsyncSocket将事件交给用户的过程:CAsyncSocket的Create()函数执行后,除了Socket外还创建一个SocketWnd窗口对象外,并使用WSAAsyncS原创 2013-03-17 16:42:39 · 838 阅读 · 0 评论 -
套接字选项介绍
SO_LINGER选项:该选项为系统设定在关闭套接字(closesocket)以后但在放弃连接之前等待的最长时间值,仅对面向连接的协议有效,他通过linger结构维护着套接字有关当数据在套接字上排队等候发送时或调用closesocket时应采取的动作。结构如下typedef struct linger{ u_short l_onoff; u_short l_linger翻译 2013-04-01 17:49:14 · 708 阅读 · 0 评论 -
IP数据包格式每个字段的含义
1.版本:占4位,真ip协议的版本。通信双方使用的IP协议的版本必须一致,目前使用的IP协议版本号为4位(即ipv4).关于ipv6占卜考虑2.首部长度:占4位可表示的最大的十进制数之时15。这个字段表示数的单位是 32位字(一个32位字长是4字节),因此ip首部长度为1111时,首部长度最大之为60字节 当ip分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据转载 2013-04-01 16:22:22 · 9053 阅读 · 2 评论 -
原始套接字编程接口
1.创建套接字原始套接字可以用socket函数来创建,但第二个参数为SOCK_RAW,第三个参数protocol有用户设置,可以使用WinSock2.h中定义的前缀为IPPROTO_XXX的长值。另外,用户也可以选择一个头文件中没有定义的数值,直接在socket函数中传入数值即可。2.设置选项大部分选项设置与TCP/UDP套接口是一样的,有一个选项IP_HDRINCL,只试用于原始套接转载 2013-04-01 10:00:19 · 1249 阅读 · 0 评论 -
socket i/o模型
完成端口模型:原创 2014-05-05 19:18:42 · 727 阅读 · 0 评论