摘要:
不管Linux的IO模型的阻塞同步分类是如何分类,几种IO模型的具体实现是确定的。这里借用《Unix 网络编程:卷一》的图片说明。 1 阻塞式IO模型 这个模型也是最容易理解的 程序调用和我们基本的程序编写是一致的: fd = connect() write(fd) read(fd) close(fd) 程序的read必须在write之后执行,当write阻塞住了,read就不能执行下去 2 非阻塞IO模型 从图中可以看出来,这是一个轮询的过程 每次用户询问内核是否有数据报准备好(文件描述符缓冲区是否就绪),当数据报准备好的时候,就进行拷贝数据报的操作。当数据报没... 阅读全文
推荐排行榜
Linux IO模型漫谈(1)
2012-05-29 11:20 by 轩脉刃, 3745 阅读, 收藏,
摘要:
基础知识 Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)。 linux的IO操作如何形象理解呢? 我们说网络socket的read()是一个IO操作命令,具体流程是这样的: 应用程序调用read命令,通知内核需要做读取数据操作 内核创建一个文件描述符 内核从物理层收到读数据的命令,从网络中获取数据包 数据包传递到TCP/IP层,解析数据包的头 内核将数据包缓存在文件描述符的读缓存区(接受缓存区)中,注意这里的读缓存区是在内核中的 ... 阅读全文
PHP写UltraEdit插件脚本
2011-12-26 08:31 by 轩脉刃, 2524 阅读, 收藏,
摘要:
需求:1 svn上的代码在本地(编辑器UltraEdit)有一套,在开发机(centos)上有一套,需要本地的代码修改以后上传到开发机上2 不直接在开发机上修改和使用,原因是有多个人都使用同一个开发机,为了保留本地备份思路:1 写一个脚本作为UltraEdit的插件,使得代码修改后按下制定按键就能直接将代码本地保存后上传到centos上2 本地是windows,远程是linux,文件上传工具可以使用pscp.exe,脚本语言使用PHP或者Python3 本地必须安装PHP,不需要安装数据库和apache4 在PHP中起一个进程调用pscp.exe, 解析路径等逻辑放在php中步骤:1 Ulta 阅读全文
HTML_5 Canvas(1)
2011-09-11 19:52 by 轩脉刃, 2415 阅读, 收藏,
摘要:
HTML5 简介 HTML5相对于html4的优点是: 1 多了许多标签,提供了更为合理的Tag 2 提供了极为强大的API接口,使得以前需要使用复杂的javascrpt实现的功能直接使用标签就可以使用了 3 Html仍然在不断完善过程中,现在大部分浏览器已经具备了某些html5的支持,浏览器支持的比例按照google chrome,opera,firefox,safari,ie逐渐减少 C... 阅读全文
开放平台_OAuth2.0
2011-08-31 19:44 by 轩脉刃, 20784 阅读, 收藏,
摘要:
为什么出现oauth2.0 1 oauth1.0对手机客户端,移动设备等非server第三方的支持不好。其实oauth1.0也是可以支持手机客户端,移动设备等,也有相应的流程。但是oauth1.0是将多种流程合并成了一种,而事实证明,这种合并的流程体验性非常差 2 oauth1.0的三步认证过程比较繁琐和复杂,对第三方开发者增加了极大的开发难度 3 oauth1.0的加密需求过于复杂,第三方开发者使用oauth之前需要花费精力先实现oauth1.0的加密算法 4 oauth1.0的拓展性不够好 5 oauth1.0生成的access_token要求是永久有效的,这导致的问题是网站... 阅读全文
浙公网安备 33010602011771号