1 / 18
文档名称:

linux网络编程.doc

格式:doc   大小:78KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

linux网络编程.doc

上传人:镜花水月 2019/1/31 文件大小:78 KB

下载得到文件列表

linux网络编程.doc

文档介绍

文档介绍:通信之socket通信该通信是基于互联网TCP/IP协议的通信。 OSI每层完成的功能: 物理层:实现网络相邻结点的信号的按位传输; 数据链路层:实现网络相邻结点的信号的帧传输;(mac地址) 网络层:实现网络不相邻结点的信号的帧传输;(IP地址) 传输层:实现网络不相邻结点的不同进程的帧传输;(端口号) 应用层:基于传输提供的服务完成网络应用 我们编写的socket应用程序是基于传输层提供的服务来进行网路通信的,传输层的两种协议:TCP:可靠的通信,保证数据包无差错、按序交付给应用层主要依靠传输前建立链接、通信过程中回发确认包来保证可靠通信的。类似于打电话;UDP:不可靠的通信通信前不需要链接、没有确认包类似于发电子邮件;socket编程相关函数:inet_aton()功能:将strptr所指的字符串转换成32位的网络字节序二进制值。#include<arpa/>_aton(constchar*strptr,structin_addr*addrptr); typedefuint32_tin_addr_t;structin_addr{in_addr_ts_addr;}; 其中,strptr指向要转换点分十进制ip地址,如“”addrptr指向转换后的结果注意:structin_addr不需要你定义了!!!系统头文件已经定义!!小任务:编写程序实现把一个点分十进制的IP地址(可尝试通过命令行参数输入)专换成字节序列逐个字节打印出来!其余点分十进制和二进制IP地址的转换函数请自行编写程序实验;端口:我们自定程序的端口应该大于1023!字节序列:网络字节序列:高字节先发送,也就是说大端格式;小任务:自行设计实验验证你的pc是用的大端格式还是小端格式(课后做)网络字节序列转换自行实验基于TCP的SOCKET编程步骤:服务器端:创建套接字#include<sys/>/*SeeNOTES*/#include<sys/>intsocket(intdomain,inttype,intprotocol);参数说明:domain:对于IPV4,type:选择套接字类型,当我们选择TCP时为SOCK_STREAM;选择UDP则为SOCK_DGRAMprotocol:一般为0例如:intsock_fd;sock_fd=socket(,SOCK_STREAM,0);绑定作为服务器的一端必须通过绑定公开其IP地址和端口号#include<sys/>/*SeeNOTES*/#include<sys/>intbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);参数说明:sockfd:待绑定的套接字描述符;addr:待绑定的地址结构指针;addrlen:地址结构长度其中,structsockaddr{sa_family_tsa_family;charsa_data[14];}一般情况下我们不会直接使用structsockaddr类型,而是使用与其等效的另外一个地址结构structsockaddr_in//见你们纸质版讲义的92页{}注意:当我们在实际使用过程中,更多的是使用structsockaddr_in,而不直接使用structsockaddr。intret; structsockaddr_inmyaddr; bzero(myaddr,sizeof(structsockaddr_in));=;=htons(8888);=inet_addr(“”);ret=bind(sock_fd,(structsockaddr*)&myaddr,sizeof(structsockaddr_in));if(ret<0){ perror(“Failedtobind:”); return–1;}侦听:套接字被listen后的功能只能用来发现外来连接请求了!!!#include<sys/>/*SeeNOTES*/#include<sys/>intlisten(intsockfd,intbacklog);通过侦听,该套接字将处于侦听状态,在该状态可以发现是否有连接请求进来参数说明:sockfd:要侦听的套接字描述符;backlog:处于等待状态的请求有多少。举例:intret; ret=listen(sock_fd,10);(4)接收连接请求#include<sys/>/*SeeNOTES*/#include<sys/>ept(intsoc

最近更新

2024年四川省川威集团有限公司校园招聘考试试.. 148页

2024年国家公务员行政职业能力测验试题-言语理.. 117页

2024年常州信息职业技术学院单招职业适应性测.. 95页

2024年广东省深圳市大鹏新区法律顾问室招聘1人.. 89页

2024年广东省深圳市盐田区区体育发展服务中心.. 89页

2024年广东省深圳市福田区审计局招聘历年高频.. 89页

2024年广东省湛江市土地储备管理中心招聘历年.. 88页

2024年广东省潮州市城乡规划局事业单位招聘3人.. 88页

2024年广东省珠海区市政设施维护管理中心招聘.. 90页

2024年广东省珠海市平沙镇招聘15人历年高频难.. 88页

2024年广东省珠海市高栏港经济区招聘6人历年高.. 88页

2024年广东省肇庆市鼎湖区广利街道办事处招聘.. 91页

2024年广东省茂名市商务局招聘历年高频难、易.. 89页

2024年广东省韶关市新丰县事业单位招聘84人历.. 88页

2024年广元旺苍县委组织部引进硕士博士研究生.. 88页

2024年广州从化市中学教师招聘历年高频难、易.. 89页

2024年广州市番禺区教育局公开招聘学前教育教.. 89页

2024年广州市荔湾区岭南街专职消防队队员招聘.. 90页

2024年广西东盟经济技术开发区国土资源局招聘.. 90页

2024年广西北海市事业单位人才引进300人历年高.. 90页

2024年广西北海市政务服务中心招聘历年高频难.. 90页

2024年广西南宁市招聘县(市区)开发区中小学.. 88页

2024年广西南宁市良庆区扶贫办事业单位招聘2人.. 89页

2022年湖南省长沙市事业单位招聘(第二批)考.. 302页

世界卫生组织儿童生长发育标准 25页

校园欺凌短剧剧本范文(3篇) 32页

连接座零件机械加工工艺规程及夹具设计 37页

HG T 3378-2022 涂料用稀释剂 7页

我国热射病专家共识课件 52页

我的1919中英字幕对照 5页