摘要: Unix下共有五种I/O模型 1. 阻塞式I/O 2. 非阻塞式I/O 3. I/O复用(select和poll) 4. 信号驱动式I/O(SIGIO) 5. 异步I/O(POSIX的aio_系列函数) 1. 阻塞式I/O(blocking I/O):基本所有套接字都是阻塞的,下面以数据报套接字为例 阅读全文
posted @ 2016-04-24 23:31 LarryKnight 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 单进程和使用select的服务器程序 第一个客户建立连接前的服务器状态: 服务器只维护一个读描述符集时:描述符0、1和2分别被设置为标准输入、标准输出和标准错误输出,故监听套接字的第一个可用描述符是3。 描述符集中唯一的非0项是表示监听套接字的项,因此select的第一个参数将为4。 client整 阅读全文
posted @ 2016-04-24 21:15 LarryKnight 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 顶顶大名的Guido van Rossum(Python之父)推荐的main写法: getopt模块用于抽出命令行选项和参数,也就是sys.argv。 命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式 opts, args = getopt.getopt( sys.argv[1:], s 阅读全文
posted @ 2016-04-24 15:11 LarryKnight 阅读(45479) 评论(0) 推荐(0) 编辑