- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux网络编程学习总结课件
Linux网络编程学习总结 Linux网络编程学习总结 1 目录 3 一、socket结构 3 1. struct sockaddr通用套接字 3 2. struct sockaddr_in 实际使用套接字 3 二、socket类型 4 1. SOCK_STREAM 4 2. SOCK_DGRAM 4 3. SOCK_RAM 4 三 4 1. 服务器客户端交互 4 2. 服务器函数 5 1) socket() 5 2) bind() 6 3) listen() 7 4) accept() 7 5) send()/write() 8 6) recv()/read() 9 7) close() 9 3. 客户端函数 10 1) socket() 10 2) connect() 10 3) send() 10 4) recv() 11 5) close() 11 四 11 1. 服务器接收/发送 11 2. 客户端接收/发送 12 3. Makefile编写 14 4. 线程 14 1) 线程创建pthread_create() 14 2) pthread_join() 15 3) pthread_exit() 15 5. 使用到的其他函数 15 1) htonl()/htons() 16 2) fork() 16 3) inet_pton() 16 目录 学习Linux网络编程也有一段时间,在吕同学和乔老师的帮助下写了一个服务器与客户端之间收发消息的例子,下面就主要用到的知识点作一回顾和总结。 一、socket结构 struct sockaddr通用套接字 struct sockaddr { u_short sa_family; //协议簇 char sa_data[14]; //14字节的特定协议地址 } struct sockaddr_in 实际使用套接字 struct sockaddr_in { u8 sin_len; /*struct sockaddr_in 的长度16*/ u8 sin_family;/*AF_INET*/ u16 sin_port;/*16位端口号*/ struct in_addr sin_addr;/*IP地址32位*/ char sin_zero[8]; } struct in_addr结构: struct in_addr { u32 s_addr; //32位IP地址,网络字节序 } 二、socket类型 SOCK_STREAM:流式套接字可以提供可靠的、面向连接的通讯流,使用TCP协议。 SOCK_DGRAM:数据报套接字定义了一种无连接的服务,数据报通过相互独立的报文进行传输,是无序的并且不保证可靠,使用UDP协议。 SOCK_RAM:原始套接字使用IP协议,用于新的网络协议的测试。 TCP网络编程架构 服务器客户端交互 图一 服务器函数 socket() #include sys/types.h #include sys/socket.h int socket(int domain, int type, int protocol); 创建一个socket,返回值:非负数-----创建成功,-1-------创建失败? family:协议簇 type:套接字的类型:是流式套接字?数据报套接字还是原始套接字 protocol: 套接口所用的协议。如调用者不想指定,可用?0 其返回值:调用成功就返回新创建的套接字的描述符,如果失败就返回INVALID_SOCKET。? 绑定一个地址端口bind() int bind(int sockfd,const struct sockaddr *myaddr,socklen_t addrlen);? 用于绑定Ip地址和端口号到socket socket:是一个套接字。 address:是一个sockaddr结构指针,该结构中包含了要结合的地址和端口号。 address_len:确定缓冲区的长度。 其返回值:如果函数执行成功,返回值为0,否则为SOCKET_ERROR。 bind() int bind(int sockfd,const struct sockaddr *myaddr,socklen_t addrlen); 该函数用于绑定I地址和端口号到socket:是一个套接字 myaddr:是一个sockaddr结构指针,该结构中包含了要结合的地址和端口号addr_len:确定缓冲区的长度如果函数执行成功,返回值为0,否则为SOCKET_ERROR
您可能关注的文档
最近下载
- 全南2019年招聘中小学幼儿园教师工作方案.doc VIP
- 《教师职业道德》教师职业道德概述.pptx VIP
- 2025年湛江中心人民医院医护人员招聘参考题库含答案解析.docx VIP
- 2025年湛江市中心人民医院医护人员招聘参考题库附答案解析.docx VIP
- 在线网课学习课堂《Advanced Medical English(首都医大 )》单元测试考核答案.docx VIP
- 青岛科技大学四方校区物业管理服务公开招标.doc VIP
- Delta影像组学在急性外踝韧带损伤修复疗效预测中的应用.docx VIP
- 黄炎培创业大赛 路演ppt(获奖).pptx VIP
- 2024年版《陕西省园林绿化工程消耗量定额》.pdf VIP
- 2024版食堂工作培训ppt课件 .pdf VIP
文档评论(0)