Linux:网络编程

1. TCP/IP理论基础
TCP/IP协议族是一个四层协议系统,分别是应用层、传输层、网络层、网络接口。每一层完成不同的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。

应用层 TFTP、FTP、Telnet、DNS
传输层 TCP、UDP
网际层 ICMP、IP、ARP、RARP
网络接口 FDDI、PDN、PPP、IEEE 802.1A、IEEE 802.2


TCP:TCP是重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输TCP 协议具有严格的内装差错检验算法确保数据的完整性TCP 是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号

UDP:UDP也是传输层协议,它是无连接的,不可靠的传输服务.当接收数据时它不向发送方提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出差错报文.由于它执行功能时具有较低的开销,因而执行速度比TCP快


TCP与UDP的比较

TCP:一种可靠的、面向连接的和基于流的服务 
UDP:不可靠、无连接和基于数据报的服务

TCP:一对一的 
UDP:适用广播和多播

TCP:执行速度慢 
UDP:执行速度快


2. socket

Linux中的网络编程通过socket(套接字)接口实现,socket是一种文件描述符。

进行Socket编程的常用函数有:

socket:创建一个socket
bind:用于绑定IP地址和端口号到socket
connect:该函数用于绑定之后的client端与服务器建立连接
listen:设置能处理的最大连接要求,Listen()并未开始接收连线,只是设置socket为listen模式。
accept:用来接受socket连接。
send:发送数据
recv:接收数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值