Linux网络编程学习总结

Linux网络编程学习总结

ID:41567057

大小:81.23 KB

页数:19页

时间:2019-08-27

Linux网络编程学习总结_第1页
Linux网络编程学习总结_第2页
Linux网络编程学习总结_第3页
Linux网络编程学习总结_第4页
Linux网络编程学习总结_第5页
资源描述:

《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函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。