前言:由于第五章主要介绍了TCP和UDP协议以及两者的包头的字段以及相应的功能,这里就不介绍了,对着字段看功能就好了,后续开始学习第六章 1.Socket Socket实质上就是提供了通信的端点,每个socket都用一个半相关描述{协议,本地地址,本地端口},完整的socket描述{协议,本地地址,本地端口,远程地址,远程端口} 可以这样解释:套接字是通过标准的UNIX文件描述符和其他的程序通讯的一个方法. 2.Socket的三种类型 1)流式套接字(SOCK_STREAM) 提供可靠.面向连接…
该书提前看完了,重点看了第四章和第六章,第七章以后只是大致浏览了一下,如果以后工作中涉及这一块再仔细研究一下,大概花了二十天的样子,主要了解了进程间的通信方式.socket编程以及五种I/O模式,看的过程中只是了解了基本概念,还没有实战经验,只看一遍书是不可能完全掌握的,重在了解基本概念,以后看到就不那么陌生了,更有亲近感,在此结贴了,后续打算学习一下设计模式了,加油,非计算机科班出身,知识面还需要不断扩展.…
1.基本概念 进程阻塞: 进程执行条件得不到满足,就自动放弃CPU资源而进入休眠状态,以等待条件满足,当条件满足时,系统就将控制权还给该进程进行未完成的操作 共享资源: 进程间协调使用的系统资源 锁定: 当某个进程使用共享资源时,可能需要防止别的进程对该资源的使用.Linux提供一些方法保证共享资源被某个进程使用时,其他进程不能使用,就称为共享资源的锁定 2.信号 信号的作用是通知一个或多个进程异步事件的发生,也可以用来处理某种严重的错误,可以从内核发往进程,也可以从一个进程发往另一个进程, 例…
由于网络编程是很重要的一块,自己这一块也比较欠缺,只知道一些皮毛,从今天开始系统学习<Linux网络编程>一书,全书分为十四个章节: 第一章   概论   P1-16 第二章   UNIX/LINUX模型 P17-20 第三章   进程控制  P22-50 第四章   进程间通信 P50-120 第五章  通信协议简介 P120-P135 第六章  Berkeley套接字 P136-P205 第七章 网络安全性 P206-220 第八章  Ping例程 P221-P222 第九章  TFTP例…
TCP协议提供的是一种可靠的,复杂的,面向连接的数据流(SOCK_STREAM)传输服务,它通过三段式握手过程建立连接.TCP有一种"重传确认"机制,即接收端收到数据后要发出一个肯定确认的信号,发送端如果收到接收端肯定确认的信号,就会继续发送其他的数据,如果没有,它就会重新发送. 而UDP协议是一种无连接的,不可靠的数据报(SOCK_DGRAM)传输服务.使用UDP套接口不用建立连接,服务端在调用socket()生成一个套接字并调用bind()绑定端口后就可以进行通信(recvfrom…
转载自:https://blog.csdn.net/lianghe_work/article 一.网络应用层编程   1.Linux网络编程01——网络协议入门 2.Linux网络编程02——无连接和面向连接的区别 3.Linux网络编程03——字节序和地址转换 4.Linux网络编程04——套接字 5.Linux网络编程05——C/S与B/S架构的区别 6.Linux网络编程06——UDP协议编程 7.Linux网络编程07——广播 8.Linux网络编程08——多播 9.Linux网络编程0…
//网络编程客户端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h>//htons()函数头文件 #include <ne…
TCP通信 一个程序使用套接字需要执行4个步骤. --分配套接口和初始化 --连接 --发送或接收数据 --关闭套接字 涉及到的调用包括socket.bind.listen.connect(阻塞线程).accept(阻塞线程).recv(阻塞线程).send(阻塞线程). 分配套接口和初始化 --我们需要做的第一件工作就是分配套接口. --套接口可以看作是文件描述符 --不论server端,还是client端,第一步都是一样的 每个套接口都是一个通信的通道 两个进程通过套接口建立连接后就可以发送…
//网络编程--客户端 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <sys/types.h> #include <sys/socket.h> #include <pthread.h> #include <netinet/in.h>…
前提,也是重点是, 当接收收据.或者读取数据时,分两步 1 等待数据准备好. 2 从内核拷贝数据到进程. 对于一个network IO 即 socket(这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel).当一个read操作发生时,它会经历两个阶段: 1 等待数据准备 (Waiting for the data to be ready) 2 将数据从内核拷贝到进程中 (Copying the data…