unix网络编程总结
UNP + APUE + TCP/IP == 腾讯入场券
猪二哥
这个作者很懒,什么都没留下…
展开
-
UNP 学习笔记 第6章
一. 大纲 1. 从本章开始构建基于IO多路复用的服务器. 2. 略微的学习使用select ,poll略过.之后最终以epoll为主. 3. 因此会补充大量的前置知识,如下会标出. 4. 同时本书(Unix Network Programming)也会在学完第6章后暂时告一段落. 5. 部分章节仅仅是阅读了一遍,下次系统学习本书时应该着重细看:UDP相关的第8章,第13章 守护进程和inetd超级服务器, 6. 部分章节第本次学习没有时间看了,下次应该重点学习: 第22章 高级UDP套接字编程,第28章的原创 2020-11-29 13:49:00 · 177 阅读 · 1 评论 -
UNP 学习笔记 第16章
一.前言 本章主要学习非阻塞式IO. 没仔细看.原创 2020-11-29 11:33:38 · 149 阅读 · 1 评论 -
UNP 学习笔记 第十四章
各种IO函数 基于多进程服务器,稍微修改head.h,测试各种IO函数 1.recv 和 send 函数 void client_simple_echo(int sockfd) { char sendline[MAXLINE]; char recvline[MAXLINE]; while(fgets(sendline,MAXLINE,stdin) != NULL) { //read (from stdin) -> write (to serv) -> read(from原创 2020-11-29 11:04:06 · 108 阅读 · 0 评论 -
UNP 学习笔记 第十五章
一. Unix域套接字 1. 描述符传递 && 接收发送者的凭证用到的时候再看 2. struct sockaddr_un 3. socketpair 4. 书上有三四个例子,跟着学习一下如何创建一个Unix域套接字 二. 书上内容的补充 1.基础 2.socketpair 三.学习创建一个Unix域C/S 使用Unix域协议的理由 1.Unix域套接字往往比通信两端位于同一个主机的TCP套接字快出一倍。 2.Unix域套接字可用于在同一个主机上的不同进程之间传递描述符。 3.Unix域原创 2020-11-28 14:42:12 · 117 阅读 · 0 评论 -
UNP 学习笔记 第二十六章
一.概述 上接第5章,实现完多进程服务器后,开始实现多线程服务器. 多线程服务器最重要的问题就是同步互斥问题. 因此我的多线程服务器的学习步骤为: 1.熟悉线程间的同步和对资源的互斥访问问题,主要用到互斥锁,信号量和条件变量 2.线程方面重点API的学习. 3.基于前几章的多进程服务器,结合csapp,将其改进为具有线程池的多线程服务器 4.学习第15章,在上述服务器中加入Unix域协议,并尽可能多的加入其它线程间通信机制 5.大致翻看http图解这本书 6.复习html基础知识 7.在上述服原创 2020-11-27 11:38:06 · 212 阅读 · 0 评论 -
UNP 学习笔记 第五章
一. 复习所有的ANSI C IO函数 1. printf 和 scanf .各种格式都要复习到 2. fprintf 和 fscanf 3. sscanf 和 sprintf ,snprintf 4. fgets 和 fputs 5. gets 和 puts 6. vsnprintf 可变参数列表 7. putc 和 getc 8. putchar 和 getchar ...原创 2020-11-21 18:30:18 · 239 阅读 · 0 评论 -
UNP 学习笔记 第七章
一. 两个API 和 一些选项 getsockopt 和 setsockopt getsockopt把对套接字的操作放入到optval中 setsockopt对套接字设置操作 SO_BROADCAST 开启/禁止广播 SO_DEBUG SO_DONTROUTE 饶过底层协议的正常路由机制. SO_KEEPALIVE 设置此选项后,2小时内无数据报交换的话,tcp会检测对端是否存活. SO_LINGER 1. linger结构体 2. close的默认操作 3.设置SO_LINGER,且l_linger为正值原创 2020-11-20 21:02:52 · 133 阅读 · 0 评论 -
UNP 学习笔记 第十一章
一.原创 2020-11-20 14:45:34 · 139 阅读 · 0 评论 -
UNP 学习笔记 第四章
一.复习GDB调试 链接:GDB常用 1.笔记上的基础操作 2.学习输出帧栈和局部变量的信息 ---->首先是使用到的源代码 #include <stdio.h> #include <string.h> //用来测试bt等类似命令 void fun() { static int a = 1; a++; if(a == 10) return ; printf("a=%d\n",a); fun(); } int main() { fun(); re原创 2020-11-18 14:00:25 · 283 阅读 · 0 评论 -
UNP 学习笔记 第三章
第三章 地址结构 1. IPv4/IPv6/外加两个通用地址结构 2. 复习结构体的对齐 网络字节序 1. 复习大小端 2. 4个大小端转换函数 值-结果参数是什么 字节操纵函数 1. 书上给出的3个BSD版本的常用api,必会 2. ANSI C书上给出的3个,包括源码,必会 3. [c标准库,string.h里的这些所有都要会](https://blog.csdn.net/liuqiyao_01/article/details/26967813?ops_request_misc=%257B%2522原创 2020-11-16 07:50:02 · 157 阅读 · 0 评论