资源描述:
《山东建筑大学计算机学院Linux复习资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、注解:考试题型大体是:填空题、简答题、编程题填空题:一般就是写一个函数有什么作用或者给你作用写个函数名,还有就是例如显示多少行代码什么的,就是某些参数的作用,填空分值不大!简答题:下面整理的资料的蓝色字体一般是简答题!编程题:把大体框架写出来就好,记住下面整理的结构体(绿色字体),就是只写个结构体也有分数,同时要写代码,不要空白,要不老是不好给分数啊!其他整理的内容你们大体看一下,主要看看那个精简版的编程文档!考试不要带小抄,这次开监控器,严打!socket:sockaddr_in的地址结构:structsockaddr_in{shortsin_famil
2、y;/*Addressfamily*/unsignedshortsin_port;/*Portnumber*/structin_addrsin_addr;/*Internetaddress*/unsignedcharsin_zero[8];/*Samesizeasstructsockaddr*/};socket、bind、listen、accept、connect、send、recv、close、setsockopt等函数的参数意义。1、函数原型intsocket(intdomain,inttype,intprotocol);第一个参数指定应用程序使用的通
3、信协议的协议族,对于TCP/IP协议族,该参数置AF_INET;第二个参数指定要创建的套接字类型,流套接字类型为SOCK_STREAM、数据报套接字类型为SOCK_DGRAM、原始套接字SOCK_RAW(WinSock接口并不适用某种特定的协议去封装它,而是由程序自行处理数据包以及协议首部);第三个参数指定应用程序所使用的通信协议。此参数可以指定单个协议系列中的不同传输协议。在Internet通讯域中,此参数一般取值为0,系统会根据套接字的类型决定应使用的传输层协议。2、intbind(intsocket,conststructsockaddr*addre
4、ss,socklen_taddress_len);参数说明:socket:是一个套接字。address:是一个sockaddr结构指针,该结构中包含了要结合的地址和端口号。address_len:确定address缓冲区的长度。3、intlisten(intlsn_fd,intbacklog);backlog是侦听队列的长度,在内核函数中,首先对backlog作检查,如果大于128,则强制使其等于128。4、intaccept(ints,structsockaddr*addr,socklen_t*addrlen);参数addr是回传指针。存入的是接受的连接
5、对端的地址信息。accept返回一个新的套接字描述符fd。5、intconnect(intsockfd,conststructsockaddr*serv_addr,socklen_taddrlen);connect函数将使用参数sockfd中的套接字连接到参数serv_addr中指定的服务器。参数addrlen为serv_addr指向的内存空间大小。6、intsetsockopt(intsock,intlevel,intoptname,constvoid*optval,socklen_toptlen);参数: sock:将要被设置或者获取选项的套接字。le
6、vel:选项所在的协议层。optname:需要访问的选项名。optval:对于getsockopt(),指向返回选项值的缓冲。对于setsockopt(),指向包含新选项值的缓冲。optlen:对于getsockopt(),作为入口参数时,选项值的最大长度。作为出口参数时,选项值的实际长度。对于setsockopt(),现选项的长度。7、ssize_trecv(intsockfd,void*buff,size_tnbytes,intflags);ssize_tsend(intsockfd,constvoid*buff,size_tnbytes,intfla
7、gs);send解析 sockfd:指定发送端套接字描述符。 buff: 存放要发送数据的缓冲区 nbytes: 实际要发送的数据字节数 flags: 一般设置为0recv函数sockfd:接收端套接字描述符buff: 用来存放recv函数接收到的数据的缓冲区nbytes:指明buff的长度flags: 一般置为08、Closesocket在linux中,就是close。服务器、客户端之间使用socket进行文件传输的程序;signal&timer:sigaction、timeval、itimerval结构;structsigaction{voi
8、d(*sa_handler)(int);sigset_tsa_ma