unix与网络编程
zyhmz
脂肪三尺,非一日之寒;码农功力,非斯须之作
展开
-
Unix网络编程--文件IO(1) 基本API
什么是I/O 输入/输出是内存和外设之间拷贝数据的过程: 设备->内存: 输入操作 内存->设备: 输出操作 高级I/O: ANSI C提供的标准I/O库函数成为高级I/O, 也称为带缓冲的I/O; 低级I/O: Linux 提供的系统调用, 通常也称为不带缓冲的I/O原创 2017-02-14 16:09:08 · 2312 阅读 · 0 评论 -
Unix网络编程 之 进程与信号(2)
在上一节文章中,我们说明了怎么去创建一个子进程,在这一节中,我们是时候去说明怎么去回收一个子进程了,在回收子进程的过程中,我们就可以顺便引出信号方面的知识了。原创 2017-02-10 16:38:11 · 335 阅读 · 0 评论 -
Unix网络编程 之 进程与信号(3)
信号 Unix信号允许进程中断其他进程,一个信号就是一条小消息,它通知进程系统中发生了一个某种类型的事件。Linux系统上支持30种不同类型的信号,在shell命令行上输入“man 7 signal”,在Mac系统上输入“ man signal”就能得到这个列表。原创 2017-02-10 22:13:06 · 353 阅读 · 0 评论 -
Unix网络编程 之 进程与信号(1)
最近在努力地看《unix网络编程》这本书,也模仿地完成了一个FTP 客户端。但是对并发服务器的章节特别模糊,特别是其中关于进程和信号的概念,所以特意去看了《深入理解计算机系统》的相关章节,写下一些思考,以便以后回顾。程序与进程 程序:当你对一个Cpp程序的编译和运行有所了解,你就会明白程序其实就是一堆代码和数据,程序可以作为目标模块存在于磁盘上,或者作为段存在于地址空间中,我肤浅地认为,程序是静态原创 2017-02-08 16:51:29 · 510 阅读 · 0 评论 -
Mac(unix)终端下FTP客户端的实现 c++
最近坚定了走网络编程的道路,主要想做云计算的网络虚拟化,本科时曾用c语言实现过简单的FTP客户端,现在决定用c++去重新实现一下,主要利用了类的思想。这份代码主要借助了前辈的劳动成果,我只是做了部分的修改,只是用做学习,并无恶意。原创 2017-02-05 14:49:23 · 1106 阅读 · 0 评论 -
Unix网络编程--基于线程的并发编程(1)
到目前为止,我们已经看到了两种创建并发逻辑流的方法。在第一种方法中,我们为每个流使用了单独的进程,内核会自动调度每个进程。每个进程有它自己的私有地址空间,这使得流分享数据很难。在第二种方法中,我们创建了自己逻辑流,并利用I/O多路复用来显示地调度流。因为只有一个进程,所有流共享一个地址空间。在这里我们,先介绍线程。原创 2017-03-13 19:32:48 · 513 阅读 · 0 评论