linux基础和网络

linux下0,1,2,系统中的标准输入输出

标准输入 即 STDIN , 在 /dev/stdin , 一般指键盘输入, shell里代号是 0
标准输出 STDOUT, 在 /dev/stdout, 一般指终端(terminal), 就是显示器,
 shell里代号是 1
标准错误 STDERR, 在 /dev/stderr 也是指终端(terminal), 不同的是, 错误信
息送到这里 shell里代号是 2

C语言值输出数据类型

1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:
表示输出类型的格式字符       格式字符意义
a                                                                  浮点数、十六进制数字和p-计数法(C99)
A                                                                  浮点数、十六进制数字和p-计数法(C99)
c                 输出单个字符
d                 以十进制形式输出带符号整数(正数不输出符号)
e                 以指数形式输出单、双精度实数
E                 以指数形式输出单、双精度实数
f                  以小数形式输出单、双精度实数
g                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大   于等于精度时使用
G                 以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4或者大于等于精度时使用
i                                                                   有符号十进制整数(与%d相同)
o                 以八进制形式输出无符号整数(不输出前缀O)
p                                                                  指针
s                 输出字符串
x                 以十六进制形式输出无符号整数(不输出前缀OX)
X                以十六进制形式输出无符号整数(不输出前缀OX)
u                 以十进制形式输出无符号整数

socket缓冲区

每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。

write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由
TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成
功返回,不管它们有没有到达目标机器,也不管它们何时被发送到网络,这些都是
TCP协议负责的事情。

TCP协议独立于 write()/send() 函数,数据有可能刚被写入缓冲区就发送到网
络,也可能在缓冲区中不断积压,多次写入的数据被一次性发送到网络,这取决于当
时的网络情况、当前线程是否空闲等诸多因素,不由程序员控制。

read()/recv() 函数也是如此,也从输入缓冲区中读取数据,而不是直接从网络中
读取。

EOF的意义及用法

EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。

C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也
是EOF,因此常被用来判断调用一个函数是否成功。

udp通信只需要accept
Linux TCP客户端与服务端区别
服务端需要bind,端口需要独占性,不需要绑定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风赤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值