51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#UNIX环境高级编程第三版
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
TCP输出下图展示了应用进程写数据到TCP套接口的过程。每一个TCP套接口有一个发送缓冲区,我们可以用SO_SNDBUF套接口选项来改变这个缓冲区的大小。当应用进程调用write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区。如果套接口的发送缓冲区容不下应用程序的所有数据(或是应用进程的缓冲区大于套接口发...
代码星球
·
2021-02-21
输出
UNIX
网络编程
读书
笔记
UNIX网络编程读书笔记:图解TCP端口号和并发服务器
图1TCP服务器在端口21上执行被动打开 &n...
代码星球
·
2021-02-21
UNIX
网络编程
读书
笔记
图解
UNIX网络编程读书笔记:端口号、套接口对和套接口
端口号端口号(portnumber):16位整数,用来区分不同的进程。服务器使用的端口号:TCP和UDP定义了一组众所周知的端口(well-knownport),用于标识众所周知的服务。客户端使用的端口号:通常使用短期存活的临时端口(ephemeralport)。这些端口号通常由传输层协议自动赋予客户。客户一般不关心其...
代码星球
·
2021-02-21
接口
UNIX
网络编程
读书
笔记
UNIX网络编程读书笔记:简介
认知套接口编程接口理解原始套接口(rawsocket)的概念 值得注意的是,客户和服务器是典型的用户进程,而TCP和IP协议则通常是系统内核协议栈的一部分。上图中在TCP和UDP之间留有间隙,用于指出应用程序可以绕过传输层而直接使用IPv4和IPv6,这称为原始套接口(rawsocket)。UNIX网络编程中...
代码星球
·
2021-02-21
UNIX
网络编程
读书
笔记
简介
UNIX/Linux网络编程基础:应用层协议简介
目录1、HTTP协议2、FTP协议3、TELNET协议4、NFS协议1、HTTP协议应用层协议HTTP协议是Web的核心。HTTP协议在Web的客户程序和服务器程序中得以实现,运行在不同系统上的客户程序和服务器程序通过交换HTTP消息彼此通信。HTTP协议定义数据格式,使得服务器和客户端通过协议进行数据交流。客户端和服...
代码星球
·
2021-02-21
UNIX
Linux
网络编程
基础
应用层
UNIX/Linux网络编程基础:图解TCP/IP协议栈
目录1、主机到网络层协议:以太网协议2、IP协议3、网际控制报文协议(ICMP)4、传输控制协议(TCP)5、用户数据报文协议(UDP)6、流控制传输协议(SCTP)7、地址解析协议(ARP) 联网的各个终端之间能否进行交互的软件基础是网络协议栈,目前主流的网络协议栈是TCP/IP协议栈。1、主机到网络层协议...
代码星球
·
2021-02-21
UNIX
Linux
网络编程
基础
图解
高级进程间通信之传送文件描述符
在进程间传送打开的文件描述符的能力是非常有用的,可以用它对客户进程/服务器进程应用进行不同的设计。它使一个进程(一般是服务器进程)能够处理为打开一个文件所要求的一切操作(具体如将网络名翻译为网络地址、拨号调制解调器、协商文件锁等)以及向调用进程送回一描述符,该描述符可被用于以后的所有I/O函数。涉及打开文件或设备的所有...
代码星球
·
2021-02-21
高级
进程
通信
传送
文件
高级进程间通信之UNIX域套接字
UNIX域套接字用于在同一台机器上运行的进程之间的通信。虽然因特网域套接字可用于同一目的,但UNIX域套接字的效率更高。UNIX域套接字仅仅复制数据;它们并不执行协议处理,不需要添加或删除网络报头,无需计算检验和,不要产生顺序号,无需发送确认报文。UNIX域套接字提供流和数据报两种接口。UNIX域数据报服务是可靠的,既...
代码星球
·
2021-02-21
高级
进程
通信
UNIX
套接字
高级进程间通信之基于STREAMS的管道
基于STREAMS的管道(简称STREAMS管道,STREAMSpipe)是一个双向(全双工)管道。单个STREAMS管道就能向父、子进程提供双向的数据流。将http://www.cnblogs.com/nufangrensheng/p/3560130.html中图15-1中的单向箭头全部换成双向箭头,即为观察STRE...
代码星球
·
2021-02-21
高级
进程
通信
基于
STREAMS
高级I/O之存储映射I/O
存储映射I/O(Memory-mappedI/O)使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应字节。与此类似,将数据存入缓冲区,则相应字节就自动地写入文件。这样就可以在不使用read和write的情况下执行I/O。为了使用这种功能,应首先告诉内核将一个给定的文件映射到一个...
代码星球
·
2021-02-21
高级
存储
映射
高级I/O之readn和writen函数
管道、FIFO以及某些设备,特别是终端、网络和STREAMS设备有下列两种性质:(1)一次read操作所返回的数据可能少于所要求的数据,即使还没有达到文件尾端也可能是这样。这不是一个错误,应当继续读该设备。(2)一次write操作的返回值也可能少于指定输出的字节数。这可能是由若干因素造成的,例如,下游模块的流量控制限制...
代码星球
·
2021-02-21
高级
readn
writen
函数
高级I/O之readv和writev函数
readv和writev函数用于在一次函数调用中读、写多个非连续缓冲区。有时也将这两个函数称为散布读(scatterread)和聚集写(gatherwrite)。#include<sys/uio.h>ssize_treadv(intfiledes,conststructiovec*iov,intiovcnt...
代码星球
·
2021-02-21
高级
readv
writev
函数
高级I/O之异步I/O
AsynchronousI/OoperationcausestherequestingprocesstobeblockeduntilthatI/Ooperationcompletes;AnasynchronousI/Ooperationdoesnotcausetherequestingprocesstobeblocke...
代码星球
·
2021-02-21
高级
异步
高级I/O之I/O多路转接——pool、select
当从一个描述符读,然后又写到另一个描述符时,可以在下列形式的循环中使用阻塞I/O:while((n=read(STDIN_FILENO,buf,BUFSIZ))>0)if(write(STDOUT_FILENO,buf,n)!=n)err_sys("writeerror");这种形式的阻塞I/O到处可见。但是如果...
代码星球
·
2021-02-21
高级
多路
转接
pool
select
高级I/O之STREAMS
http://en.wikipedia.org/wiki/STREAMSSTREAMS(流)是系统V提供的构造内核设备驱动程序和网络协议包的一种通用方法,对STREAMS进行讨论的目的是为了理解系统V的终端接口、I/O多路转接中poll(轮询)函数的使用以及基于STREAMS的管道和命名管道的实现。请注意不要将这里说明...
代码星球
·
2021-02-21
高级
STREAMS
首页
上一页
...
13
14
15
16
17
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他