网络
zhiweiyang
这个作者很懒,什么都没留下…
展开
-
网络编程之 Socket的模式(四) --- “Window网络I/O模型” 续
1. Windows下的异步I/O 在接下来讨论"Overlapped I/O 事件通知模型"、"Overlapped I/O 完成例程模型"、"IOCP模型"之前,先来看一下Windows的Overlapped I/O,它实际上对应于"网络编程之 Socket的模式(二) --- Linux网络I/O模型"里的异步I/O(asynchronous I/O或者no转载 2014-03-03 23:06:32 · 1135 阅读 · 0 评论 -
网络编程之 Socket的模式(一) --- “阻塞/非阻塞” 与 “同步/异步”
1. 阻塞/非阻塞 对于网络编程而言,Socket模式是开发者必须明确的一个问题。对于Socket的操作,可以分为阻塞模式和非阻塞模式两种。在两种不同模式下,同一个Socket函数的表现可能完全不同,所以必须引起开发者的注意。 在解释阻塞(blocking)和非阻塞(non-blocking)之前,先看另外一对相对的词语,"同步"(synchronous)转载 2014-03-03 22:58:51 · 960 阅读 · 0 评论 -
网络编程之 Socket函数 (二)
1. 概述 在《网络编程之 socket函数 (一)》 中所讲到的所有socket函数并不涉及设置socket属性,而只是定义了客户端和服务器端的socket流程。服务器端和客户端的使用流程如下: 客户端: socket()->connect()->send()/recv()->close()转载 2014-03-03 23:00:22 · 708 阅读 · 0 评论 -
网络编程之 Socket的模式(三) --- “Window网络I/O模型”
1. Window下网络I/O模型 Window系统提供了另外一些网络模型,除了兼容Linux上的阻塞式I/O模型、非阻塞式I/O模型、I/O复用模型(只兼容select)外,还包括了WSAAsyncSelect模型、WSAEventSelect模型、Overlapped I/O 事件通知模型、Overlapped I/O 完成例程模型、IOCP模型。对于与Linux类似的网络转载 2014-03-03 23:04:01 · 556 阅读 · 0 评论 -
网络编程之 Socket函数 (一)
1. 概述 在网络协议中,分层思想是非常重要的,各层协议分工明确,各干各事。在现实世界中,IP网际层的实现分布在路由器和各种PC终端中,TCP传输层的实现则存在于PC终端。换句话说,路由器只实现IP协议,而终端PC的操作系统同时实现了IP和TCP层协议。为了让开发者实现各种应用程序,不同的操作系统都会提供了一组socket函数,供开发者使用。通过socket函数,开发者能转载 2014-03-08 16:16:41 · 642 阅读 · 0 评论 -
socket select函数的详细讲解
原型 int select( int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, const struct timeval* timeout ); nfds:本参数忽略,仅起到兼容作用。 readfds:(可选)指针,指向一组等待可读性检查的套接口。 writefds:(可选)指针,指向一组转载 2014-03-10 10:21:56 · 479 阅读 · 0 评论 -
Socket之shutdown()用法
通常来说,socket是双向的,即数据是双向通信的。但有些时候,你会想在socket上实现单向的socket,即数据往一个方向传输。 单向的socket便称为半开放Socket。要实现半开放式,需要用到shutdown()函数。 一般来说,半开放socket适用于以下场合: (1)当你想要确保所有写好的数据已经发送成功时。如果在发送数据的过程中,网络意外断开或者出现异转载 2015-09-08 16:53:51 · 2028 阅读 · 0 评论