1 / 47
文档名称:

linux网络编程.ppt

格式:ppt   大小:2,088KB   页数:47页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

linux网络编程.ppt

上传人:2072510724 2019/5/23 文件大小:2.04 MB

下载得到文件列表

linux网络编程.ppt

相关文档

文档介绍

文档介绍:,所有的I/O操作都是通过读写文件描述符而产生的,文件描述符是一个和打开的文件相关联的整数,而套接口就是系统进程和文件描述符通信的一种方法,目前最常用的套接口:字节流套接口和数据报套接口、原始套接口。TCP套接口TCP套接口使用TCP建立连接,建立一个TCP连接需要三次握手,基本过程是服务器先建立一个套接口并等待客户端的连接请求;当客户端调用connect进行主动连接请求时,客户端TCP发送一个SYN,告诉服务器客户端将在连接中发送的数据的初始序列号;当服务器收到这个SYN后也给客户端发一个SYN,里面包含了服务器将在同一连接中发送的数据的初始序列号;最后客户在确认服务器发的SYN。到此为止,一个TCP连接被建立。UDP套接口UDP套接口 UDP套接口是无连接的、不可靠的数据报协议;既然它不可靠为什么还要用呢?其一:当应用程序使用广播或多播是只能使用UDP协议;其二:由于他是无连接的,所以速度快。因为UDP套接口是无连接的,如果一方的数据报丢失,那另一方将无限等待,解决办法是设置一个超时。 在编写UDP套接口程序时,有几点要注意:建立套接口时socket函数的第二个参数应该是SOCK_DGRAM,说明是建立一个UDP套接口;由于UDP是无连接的,ept函数;当UDP套接口调用connect函数时,内核只记录连接放的IP地址和端口,并立即返回给调用进程SOCKET的位置应用层程序TCPUDPIP数据链路层及物理层流式套接口数据报套接口原始套接口网络函数及用法socket函数:为了执行网络输入输出,一个进程必须做的第一件事就是调用socket函数获得一个文件描述符。#include<sys/>#include<sys/> intsocket(intfamily,inttype,intprotocol); 返回:非负描述字---成功-1---失败网络函数及用法connect函数:当用socket建立了套接口后,可以调用connect为这个套接字指明远程端的地址。#include<sys/>#include<sys/> intconnect(intsockfd,conststructsockaddr*servaddr,socklen_taddrlen); 返回:0---成功-1---失败网络函数及用法bind函数:为套接口分配一个本地IP和协议端口。#include<sys/>#include<sys/> intbind(intsockfd,conststructsockaddr*myaddr,socklen_taddrlen); 返回:0---成功-1---失败网络函数及用法listen函数:listen函数仅被TCP服务器调用,它的作用是将用socket创建的主动套接口转换成被动套接口,并等待来自客户端的连接请求。 #include<sys/> intlisten(intsockfd,intbacklog); 返回:0---成功-1---ept函数:accept函数由TCP服务器调用,从已完成连接队列头返回一个已完成连接,如果完成连接队列为空,则进程进入睡眠状态。 ept(intsockfd,structsockaddr*cliaddr,socklen_t*addrlen); 返回:非负描述字---成功-1---失败