网络通信
Automannnn
愿你初心不改,归来仍是少年。
展开
-
c++ 通信演进level4 ----多线程异步非阻塞通信(AIO)
今天,将最后一个流模型例子给记录一下,代码同样来自于网上。由于一些原因,导致心情不是很好,还是按照既定计划,将该demo的笔记记录一下。源码地址:地址。 它是基于 windows的iocp完成的,所以是异步非阻塞io。 最近看了很多的关于io说明的,各种帖子看的我头大,始终还是没彻底搞懂,估计是没接触过太多,境界还没到。但是毫无疑问的是,windows的iocp是属于异步非阻塞io的...原创 2020-03-11 22:29:53 · 1058 阅读 · 0 评论 -
c++ 通信演进level2 ----多线程同步阻塞通信(BIO)
这一篇是在昨天写的基础上,查阅了一些资料,对于BIO模型做了更深一步的理解后,实现的代码:地址。 主要修改的代码在于:typedef struct { HANDLE thread; SOCKET sock;}AcceptNode;//保存连接的容器list<AcceptNode*> acceptList;......int main(){ ...原创 2020-03-11 10:17:17 · 359 阅读 · 0 评论 -
c++ 通信演进level3 ----多线程同步 非阻塞通信(NIO)
本篇文章的源码同样来自网络上,自己稍加整理,并做一下源码方面的分析。本例子的作用一方面是为了理解http服务器,另一方面,是作为学习流操作的NIO模型层次。地址在这里:地址。 代码结构如下:首先,定义两个结构体,用于存储 接收的socket链表,以及存储 与当前socket绑定的 thread链表://标识客户端的节点 链表typedef struct _NODE...原创 2020-03-10 20:33:12 · 1433 阅读 · 0 评论 -
c++ 通信演进level1 ----单线程同步阻塞通信
本篇,纪录一个在 windows上使用 socket进行通信的例子,代码源自于网上。由于时间过去挺久了,当时我也没有加书签,现在暂时还不好找出处。 文中给出一些关键代码片段,一方面用于巩固我所学的知识,另一方面,用于纵向的技术对比,加深理解。完整的地址在这里:地址。 首先看看项目结构:服务端的关键代码:int main(){ //加载Winsock库,初始化so...原创 2020-03-10 18:39:20 · 367 阅读 · 0 评论