2015年4月28日

多播_1

摘要: IPPROTO_IP1.IP_HDRINCL,布尔型,仅适用于原始套接字(SOCK_RAW)如果应用程序希望接收IP层及IP层以上的所有数据或者自行组装包含IP层在内的报文,那么可以设置该选项为TRUE。2.IP_ADD_MEMBERSHIP,struct ip_mreq结构,用于加入多播组该选项用... 阅读全文

posted @ 2015-04-28 23:37 strangeman 阅读(410) 评论(0) 推荐(0) 编辑

广播

摘要: 只有通过UDP套接字才能实现广播和多播。 报文的发送在默认情况下,UPD套接字是无法发送广播报文的,套接字启用/禁止广播是通过SOL_SOCKET->SO_BROADCAST选项来完成的。下面代码,可以确认广播选项是默认关闭的:BOOL bBroadcast; int optlen = sizeof... 阅读全文

posted @ 2015-04-28 23:35 strangeman 阅读(168) 评论(0) 推荐(0) 编辑

套接字I/O模型-select

摘要: 共有6种类型套接字I/O模型。blocking(阻塞),select(选择),WSAAsyncSelect(异步选择),WSAEventSelect(事件选择),overlapped(重叠),completionport(完成端口)。1.select之所以称select模型,是因为工作原理是利用se... 阅读全文

posted @ 2015-04-28 23:33 strangeman 阅读(318) 评论(0) 推荐(0) 编辑

将套接字设置为非阻塞状态

摘要: 创建一个套接字并将之设置为非阻塞模式:SOCKET s; unsigned long ul = 1; int ret; s = socket(AF_INET, SOCK_STREAM, 0); ret = ioctlsocket(s, FIONRIO, (unsigned long)&ul); i... 阅读全文

posted @ 2015-04-28 23:32 strangeman 阅读(394) 评论(0) 推荐(0) 编辑

套接字I/O模型-重叠I/O

摘要: 重叠模型的基本设计原理是让应用程序使用重叠的数据结构,一次投递一个或多个WinsockI/O请求。针对那些提交的请求,在它们完成之后,应用程序可为它们提供服务。模型的总体设计以Windows重叠I/O机制为基础。这个机制可通过ReadFile和WriteFile两个函数,在设备上执行I/O操作。要想... 阅读全文

posted @ 2015-04-28 23:31 strangeman 阅读(1425) 评论(0) 推荐(0) 编辑

套接字I/O模型-WSAAsyncSelect

摘要: 利用这个异步I/O模型,应用程序可在一个套接字上接收以Windows消息为基础的网络事件通知。WSAAsyncSelect和WSAEventSelect提供读写数据能力的异步通知,但它们不提供异步数据传输,重叠及完成端口提供异步数据传输。消息通知要想使用WSAAsyncSelect模型,在应用程序中... 阅读全文

posted @ 2015-04-28 23:30 strangeman 阅读(354) 评论(0) 推荐(0) 编辑

套接字I/O模型-完成端口IOCP

摘要: “完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字... 阅读全文

posted @ 2015-04-28 23:28 strangeman 阅读(699) 评论(0) 推荐(0) 编辑

套接字I/O模型-WSAEventSelect(转载)

摘要: 和WSAAsyncSelect类似,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。该模型最主要的区别是在于网络事件是由对象句柄完成的,而不是通过窗口例程完成。 事件通知事件通知模型要求应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用WSACreateE... 阅读全文

posted @ 2015-04-28 23:26 strangeman 阅读(395) 评论(0) 推荐(0) 编辑

导航