数据链路层 简称链路层,功能在于将数据包封装成帧,控制帧对介质的访问.链路层连接了物理介质和其之上抽象层,可以使上层不用关心用什么方法在什么介质中传输信息. 在帧被传输时经过的每一跳,每个中间设备(通常也是路由器)会对帧做如下一些处理: 1. 从介质接收帧 2. 把帧解封为数据包 3. 把本设备处理完的数据包再次封装成适合传输向下一个介质的帧 4. 将新帧通过下一介质转发出去 5. 对帧进行错误检查,如果发现错误就把帧丢弃 如何将帧放到介质上or如何从介质上取得帧的技术被称为介质访问控制或者MA…
题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以没有多少主流的服务器支持,自己在网上下载了几个实现,包括php的.C#的.甚至Node.js的,但一个是协议变化比较大,很多代码已经过时了,再就是有一些支持最新的标准,但是我想稍微改造一下,看人家源代…
Python网络爬虫实战笔记③如何下载韩寒博客文章 Python网络爬虫实战笔记③如何下载韩寒博客文章 target:下载全部的文章 1. 博客列表页面规则 也就是, http://blog.sina.com.cn/s/articlelist_1191258123_0_*.html 字符串的连接: 但是字符串和整型变量不能连接在一起 这个时候可以用str()函数 再回到题目上来, http://blog.sina.com.cn/s/articlelist_1191258123_0_*.html中…
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述数据的数据 5. 异常 5.0.1. URLError 5.0.2. HTTPError 5.0.3. 处理异常 5.0.4. info和geturl 6. Opener和Handler 7. Basic Authentication 8. 代理 9. Timeout 设置 10. Cookie 1…
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Acceptor 系统函数accept Socket的封装 Acceptor的封装 Acceptor时序图. 简单测试程序 Acceptor Connctor 运行日志 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor 标签: muduo Connector Acceptor…
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoop() queueInLoop() wakeup() handleRead() doPendingFunctors() 总结 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 上篇文章为EventLoop添加了一个定时器Fd,为EventLoop增加了3个接口:runAfter(…
目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结构. Timer Timer的容器. TimerQueue私有接口介绍. 更新定时器 时序图 TimerQueue源码 TimerQueue使用示例 muduo网络库学习笔记(三)TimerQueue定时器队列 TimerQueue是EventLoop的组件之一,可以提供定时任务,和周期任务. 本章…
csapp网络编程初学笔记 客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型,服务器管理某种资源,并且通过操作来为它的客户提供某种服务 客户端-服务器模型中的基本操作是transaction,由以下四步组成: 1.当一个客户端需要服务时,它向服务器发送一个请求. 2.服务器接收到请求后,解释它,并以适当的方式操作它的资源. 3.服务器给客户端发送一个响应,并等待下一个请求. 4.客户端接收响应并处理响应. 网络 客户端和服务器通常运行在不同的主机上,并借通过计算机网络的硬件和软件资…
概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏? 在买路由器还是很奢侈的时候,如果一个大学宿舍想联网打游戏,他们改怎么办呢?带这个问题我们进行学习本节课的知识. 第一层(物理层) 使用路由器,是在第三层上.我们先从第一层物理层开始说.物理层能折腾啥?现在的同学可能想不到,我们当时去学校配电脑的地方买网线,卖网线的师傅都会问…
一.JAVA网络编程概述 网络应用程序,就是在已实现网络互联的不同计算机上运行的应用程序,这些程序之间可以相互交换数据.JAVA是优秀的网络编程语言,Java网络编程的类库位于java.net包中.Java支持TCP/UDP及其上层的网络编程,对TCP/UDP以下层,如IP包的捕获,侦听,数据链路层的帧的捕获,需要借助第三方的java包,如UNIX/Linux下著名的libpcap包的Java版本jpcap包. 在网络编程中,服务器与客户程序只需关心发送什么样的数据给对方,而不必考虑如何把这些数…