欢迎来到天天文库
浏览记录
ID:41567057
大小:81.23 KB
页数:19页
时间:2019-08-27
《Linux网络编程学习总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux网络编程学习总结项冃组:开发组姓名:李向勇老师:乔永峰H期:2015.12.09Linux网络编程学习总结1目录3一、socket结构31.structsockaddr通用套接字32.structsockaddrjn实际使用套接字3二、socket类型41.SOCK_STREAM42.SOCK_DGRAM41.SOCK_RAM4三、TCP网络编程架构41.服务器客户端交互42•服务器函数51)socket()52)bind()63)listen()74)accept))75)send()/write()86)recv()/read()97)closef)9
2、1.客户端函数101)socket()102)connect()103)send()104)recv()115)close()11四、服务器客户端的例子111•服务器接收/发送112.客户端接收/发送123.Makefile编写144.线程141)线程仓U建pthread_create()142)pthreadjoin()153)pthread_exit()155.使用到的其他函数161)htonl()/htons()162)fork()163)inet_pton()16目录学习Linux网络编程也有一段吋间,在吕同学和乔老师的帮助下写了一个服务器与客户端之间收发消
3、息的例子,下面就主要用到的知识点作一回顾和总结。一、socket结构1.structsockaddr通用套接字structsockaddr{u_shortsa_family;〃协议簇charsa_data[14];//14字节的特定协议地址}2.structsockaddrjn实际使用套接字structsockaddrjn{u8sinjen;/*structsockaddrjn的长度16*/u8sin_family;/*AF_INET*/ul6sin_port;/*16位端口号*/structin_addrsin_addr;/*IP地址32位*/charsin_ze
4、ro[8];}structin_addr结构:structin_addr//32位IP地址,网络字节序{u32s_addr;}二socket类型1.SOCK_STREAM:流式套接字可以提供可靠的、面向连接的通讯流,使用TCP协议。2.SOCK_DGRAM:数据报套接字定义了一种无连接的服务,数据报通过相互独立的报文进行传输,是无序的并且不保证可靠,使用UDP协议。3.SOCK_RAM:原始套接字使用ip协议,用于新的网络协议的测试。三、TCP网络编程架构1.服务器客户端交互客户机进程socket()服务器进程socket()bind()listen()connec
5、t()send()服务请求recv()♦应答信号close()accept()毎9有客户的连接请求挂起,recv()处理服务请求0send()xecv()结束连接通知图一1.服务器函数1)socketf)#inelude#ineludeintsocket(intdomain,inttype,intprotocol);创建一个socket,返冋值:非负数——创建成功,-1创建失败family:协议簇type:套接字的类型:是流式套接字?数据报套接字还是原始套接字protocol:套接口所用的协议。如调用者不想指定,
6、可用0其返冋值:调用成功就返冋新创建的套接字的描述符,如果失败就返回INVALID_SOCKET。绑定一个地址端口bind()intbind(intsockfd,conststructsockaddr*myaddr,socklen_taddrlen);用于绑定Ip地址和端口号到socketsocket:是一个套接字。address:是一个sockaddr结构指针,该结构中包含了要结合的地址和端口号。addressJen:确定缓冲区的长度。其返回值:如果函数执行成功,返回值为0,否则为SOCKET_ERROR。1)bind()intbind(intsockfd.con
7、ststructsockaddr*myaddr,socklen_taddrlen);该函数用于绑定IP地址和端口号到socketosockfd:是一个套接字;myaddr:是一个sockaddr结构指针,该结构中包含了耍结合的地址和端口号;addrlen:确定缓冲区的长度;如果函数执行成功,返冋值为0,否则为SOCKET_ERRORo1)listen()intlisten(intsockfd,intbacklog);listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数
此文档下载收益归作者所有