10.1 Linux信号概述Linux下, 一个进程给其他进程发送信号的API是kill函数
123#include <sys/types.h>#include <signal.h>int kill(pid_t pid, i...
IO复用使得程序能同时监听多个文件描述符,这对提高程序的性能至关重要。通常,网络程序在下列情况下需要使用/O复用技术:
客户端程序要同时处理多个socket。.比如本章将要讨论的非阻塞connect技术。
客户端程序要同时处理用户输入和网...
根据服务器程序的一般原理, 将服务器解构为三个主要模块:
IO处理单元. 本章介绍四种IO模型和两种高效事件处理模式
逻辑单元. 本章介绍两种高效并发模式, 以及有限状态机
存储单元
请求队列是各单元之间通信方式的抽象.
8.1 服务器...
7.1 日志Linux系统日志
Linux提供一个守护进程syslogd来处理系统日志, 不过现在都用的都是升级版rsyslogd
123#include<syslog.h>void syslog(int priority, cons...
Linux提供了很多高级的IO函数, 与网络编程相关的主要分为三类:
用于创建文件描述符的函数, 包括pipe, dup/dup2函数
用于读写数据的函数, 包括readv/writev, sendfile, mmap/...
socket是什么? (个人理解)
socket是操作系统对主机之间网络连接的抽象和封装, 是一套专门的系统调用.
应用程序通过socket控制网络连接的细节和资源,
更形象的比喻: 主机-不同部门, 应用程序-人, socket-电话座机;
...
3.1 TCP服务的特点
面向连接: 通信双方必须先建立连接才能进行通信
字节流: 与UDP的基于数据报不同, 应用程序对数据的发送和接收没有边界限制. 具体来讲, 发送端和接收方各自维护缓存区, 两端执行的读写操作没有数量关系.
可靠传输: ...
2.1 IP协议的特点
无状态: 通信双方不同步传输数据的状态信息, 每个报文的行为都相互独立, 没有上下文关系.
无连接: IP双方不长久地维护对方的任何信息.
不可靠: 不能保证数据报到达接收端的必然性和准确性.
2.2 IPv4 头部结构
...
1.1 体系结构与主要协议族
封装: 上层协议基于下层协议实现, 但上层协议不关注下层的实现细节
链路层, 网络层, 传输层负责网络通信细节, 要求可靠, 稳定和高效, 因此往往在内核中实现
链路层
使用物理(MAC)地址寻址机器
通过ARP和...
前言最近用谷歌学术检索论文的时候需要指定论文的来源(期刊 / 会议),网上搜索了相关教程。然而排名靠前的文章提供的方法都不好使:),后面在 b 站上发现了一个视频教程 ,实测有效,在此记录一下。
教程首先,假设检索的关键词是 Dimensi...