13~22章 重要 第2章 传输层: TCP/ UDP / STCP (Stream Control Transmission Protocol) TCP 可靠,有重传机制,SYN队列号 UDP 不可靠 STCP 可靠(还包装了一些其他的) TCP,STCP 协议中 有数据包的序列号SYN,和重传机制, 保证了数据的正确性,可靠性. SYN就是序列号,ACK 是回应 TCP 连接的建立 和终止 2.6.1 TCP建立连接 TCP建立连接有3路分节 ( 容易被攻击,因为server要等待clien…
第13章 守护进程和inetd 超级服务器 syslog() daemon_init() setuid() setgid() 第14章 高级IO 标准I/O函数库,支持3种缓冲 缓冲(读写存储设备(硬盘),或者网络 合并读写,可以大大提高性能, 当然也可以不合并: 每次读写操作就立即 发送到指定输入输出(写进硬盘)) 全缓冲(fully buffering):意味着只在出现下列情况才发生I/O 1.缓冲区满 2.进程显示调用fflush 3.进程调用exit终止自己 标准IO缓冲区的大小 通常为…
文章最开头介绍了 获取时间的C/S 模型的代码, 还用了实现了IPV6的版本 unix 介绍了errno值,以及在多进程/多线程中的问题 多线程中不用全局errno,而是用返回值 处理error 详细见第26章 //可以这么写 int n; if( (n=pthread_mutex_lock(&ndone_mutex)) !=0 ) errno=n,err_sys("ptherad_mutex_lock error");// 逗号分割,不用{} 花括号 //当然我们也可以封装下…
此配置实例亲测成功,共勉,有问题大家留言. 环境:VMware 10 + unbuntu 14.04 为了unix进行网络编程,编程第一个unix程序时遇到的问题,不能包含unp.h文件,这个感觉和apue.h差不多,不过这里需要编译源代码,为了以后方便,现在整理如下: 主要有两点一是生成libunp.a这个库,二是得到unp.h.config.h这两个个头文件. 1,安装编译器,为了齐全还是安装一下build-essential sudo apt-get install build-essen…
一.初衷 近期正在做网络计算编程的作业.要求平台为unix/linux,想着Raspberry Pi装的Debian系统也是Linux改的,也应该能够勉强用着,所以就用它来做作业了! 二.说明 先把环境搭了(配置unp.h头文件环境),具体步骤见下文 http://www.voidcn.com/blog/liyuefeilong/article/p-5697814.html 编译出错 ,如上图,解决方案: http://www.cnblogs.com/instorm/p/3415483.html…
下面开始用简单但典型的客户端和服务器端程序说明如何进行网络编程.这一小节讲的是客户端,一个用来连接并读取服务器发送来的时间的客户端. 这里涉及到了编写代码,因此要 搭建unix网络编程环境 unix系统我没安装,系统不易获得而且也没必要安装unix.用linux是最佳选择.再者我本来就是ubuntu系统,所以就在ubuntu下搭建环境了. 1,安装编译器,为了齐全还是安装一下build-essential sudo apt-get install build-essential 2,下载本书的头…
source code下载地址:unpv13e.tar.gz下载 (也有放一份在google cloud storage) compile 1. ./configure 2. cd lib make 3.     cd libfree 修改inet_ntop.c size_t size; 變成 socklen_t size; make 4.(感覺這一步應該不用做) cd ../libgai    make 5. cd ../intro # build and test a basic clien…
1. 下载源代码:http://www.ituring.com.cn/book/download/60498ad9-ede6-4023-a92b-04d47be23578 2. 解压文件后进入文件根目录并运行以下命令: $ autoconf $ ./configure 3. 进入lib目录并且make 4. 进入libfree目录并且make 在该目录运行时出现错误,错误代码如下: gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o inet_ntop.o…
刚看完 UNIX 第五章内容,我想按照自己的方式将自己获得的知识梳理一遍,以便日后查看!先贴上一段简单的 TCP 服务器端代码: #include <sys/socket.h> #include <netinet/in.h> #include <stdio.h> #include <error.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #d…
第一章: Architecture(体系结构) Protocol Layers(协议层) ISO OSI Protocol 每层的功能: 网络层提供交换及路由技术 传输层提供了终端系统之间的数据透明传输,并且负责端到端的错误恢复及流程控制 会话层用来建立.管理.以及终止应用程序之间的连接 表现层提供数据表现差异的独立性(例如加密) 应用层支持应用程序和用户程序 TCP/IP Protocol Gateways(网关) 网关是一个统称,它用于连接起一个或多个网络. 其中的中继器在物理层面上进行操作…