摘要:
网络编程主要关注的一些问题 主要关注3个方面的问题 连接的建立 连接的断开 消息的发送和到达 连接的建立 主要分为两种情况:服务器处理接受客户端的连接;服务端作为客户端的连接第三方服务; //这是服务端接受客户端连接的时候;(三次握手完毕) int clientfd=accept(listenfd, 阅读全文
摘要:
就这上篇文章的代码,我们会继续实现以下websocket的协议。 为什么要使用websocket呢? 它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。 其他特点包括: (1)建立在TCP协议之上,服务器端的实现比较容 阅读全文
摘要:
我们继续我们的HTTP服务器的实现(使用别的代码来实现), 这个HTTP服务器的实现,我们主要就是关注TCP服务器中的recv还有send的处理。 首先,看一下HTTP,我们在用浏览器访问我们的TCPserver的时候,会收到什么样的请求。 这是直接访问端口的时候,返回的数据,我们在随便输入一个地址 阅读全文
摘要:
我们紧接着上篇文章,看看我们上节课的代码有什么问题? 可以明显的看出来上节课的代码公用了一个同样的缓冲区进行读写,正常的情况下我们需要封装一个结构体,让每个对应的客户端的FD都有独立的结构进行读写还有接收连接。 具体的结构如下: struct sock_item { //客户端的fd int fd; 阅读全文
摘要:
我们继续上篇的文章继续更新我们的代码。 首先就是介绍一下epoll的三个函数。 epoll_create epoll_ctl epoll_wait 如何去理解这3个函数,我是这样去理解这个函数, 就像我们去取快递一样,之前的Select模型,是通过轮询的方式一直去循环遍历客户端FD的列表,而EPOL 阅读全文
摘要:
我们知道网络IO模型一共有5种,这里我们主要讨论同步IO和select多路复用的情况。 我们先从一个简单的TCP服务器的代码出发,来讨论一下这个是怎么实现的。 一个十分简单的TCP服务器 一个简单的TCP的服务器的建立流程是这样 建立SOCKET 绑定端口 监听 接受连接 接受消息 发送消息 关闭连 阅读全文
摘要:
重点内容 linux基础命令和工具 CPU性能监控 内存性能监控 文件IO性能监控 网络IO监控 1 linux基础命令和工具 1.1 Grep搜索字符 grep命令用于在文件中执行关键字搜索,并显示匹配效果。 一些常见的选项 | 参数 | 作用 | | | | | -c | 仅显示找到的行数 | 阅读全文
摘要:
下面我们来介绍Cmake Cmake 我们着重介绍一下CMAKE,是因为CMAKE现在用的人比MAKEFILE多一些,也更好理解,编写一些。 1 安装 cmake 1.1 卸载已经安装的旧版的CMAKE【非必需】 apt-get autoremove cmake 1.2 文件下载解压: wget h 阅读全文
摘要:
git是什么 git是一个分布式版本控制工具,github是代码托管平台。 git有什么用 保存文件的所有修改记录 使用版本号进行区分 随时可浏览历史版本记录 可还原到历史指定版本 对比不同版本的文件差异 为什么要用git? 多人协作开发一个大型项目 每个人都在代码库下载代码,然后进行修改,把大家不 阅读全文
摘要:
Makefile/cmake/configure 重点学习Cmake 首先是简单的MakeFile入门 1.1 简单Makefile 范例1.1 all: @echo "Hello all" test: @echo "Hello test" 运行结果如下 范例1.2 test: @echo "hel 阅读全文