自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (2)
  • 收藏
  • 关注

原创 文件及文件流

1、文件与流的基本概念在Linux系统下,除了常规的文件外,目录,设备,管道等也属于文件。根据文件的存储方式,我们可以将文件分为两类,二进制文件以及文本文件。(1)文本文件:ASCII文件,每个字节存放一个ASCII码字符,文本文件存储量大,速度慢,便于对字符操作,以EOF结尾。(2)二进制文件:数据按其在内存中的存储形势原样存放,存储量小,速度快,便于存放中间结果。根据对文件的访问方式又分为带缓冲区文件和不带缓冲区文件。(1)带缓冲:高级文件操作,将在用户空间中自动生成缓冲区(缓冲区具有快速存

2020-07-15 08:51:39 1714

原创 域名与IP信息解析

Linux下域名解析过程。我们平常用的www.xxxxxxxx,com就是我们常说的域名,而系统并不认识域名,它只能认识完整的IP地址,所以在使用某个网站的时候就有将域名转化为IP地址的一个过程,在实际生活中我们需要实现域名与IP地址的转化。在Linux系统下我们需要通过DNS将方式进行解析,DNS都是采用UDP来发送数据。再Linux系统中还可以采用/etc/hosts文件进入简单的解析,但这种简单的方法不适合大型网络解析。2、通过域名返回主机信息:gethostbyname()函数实现指定域名的

2020-07-10 16:43:57 698

原创 socket信号驱动

异步信号处理机制流程;设置为异步处理socket再有数据可操作时将产生SIGIO,因此,为了使一个套接字能够试用信号驱动I/O操作,至少需要3部操作(1)安装SIGIO信号,在该处理函数中设定处理办法。(2)套接字的拥有者必须设定为当前进程。因此socket产生的SIGIO信号会被递送给socket的拥有者进程,可以使用icntl函数的F_SETOWN参数来进行设定拥有者。(3)套接字必须被允许使用异步I/O,即允许产生SIGIO信号。通过调用fictl函数的F_SETFL命令,将即设置为O_ASY

2020-07-10 15:20:03 392

原创 UDP组播应用示例

组播通信应用示例,组播相较于广播是有一定区别的,他们之间的区别是,组播只能是在一组之内的主机能够接收到信息,对广播来说没那么广泛,是特定一个小组能够相互接收和传递。在对比MAC地址时,如果是目标组的话才能接收数据包,即将数据包交给OS处理处理,即IP层、否则丢弃(不接受)。UDP组播通信代码如下:因为涉及到组的问题,我们有两个形参,组号和自己的IP地址,接收端也需要两个形参,组号和IP地址 。setsockopt(sockfd,IPPROTO_IP,IP_ADD_membership.&mre

2020-07-10 13:24:30 735 1

原创 UDP广播通信

1,广播地址,处于同一个广播域(局域网)的所有主机都会收到消息,是一对多的方式,广播只能由UDP发创建和发送,,当广播不能跨越局域网。广播地址; broadcast。广播地址在封装成数据链路层的数据帧时,其目的MAC地址全为1,既FF:FF:FF:FF:FF:FF。在单播的情况下,每台主机都会对比目的MAC地址与自己是否相同,若相同则接受该条单播,这就唯一的确定了一台主机以实现淡泊功能。但广播的MAC地址是FF:FF:FF:FF:FF:FF,同一局域网的所有主机都接受到该信息,发现是广播MAC地址,所以每

2020-07-10 11:34:40 806

原创 UDP网络编程应用

UDP网络通信流程1,首先,服务器端需要调用socket()函数,建立socket对象,指定通信协议(tcp,udp,ipv4,ipv6),调用bind()函数,将创建的socket对象与某一个udp端口绑定。2,接着通信双方进行数据传输,发送方调用sendto()函数或sendmsg()函数发送数据,而接收方调用recvfrom()或recvmsg()函数接收数据,通信完成后双方都要调用close()或shutdown()函数关闭socket对象。一、使用AF_INET实现UDP点对点通信示例(1

2020-07-10 09:23:20 163

原创 控制socket文件描述符属性

1.set/getsockopt()修改socket属性

2020-06-06 11:37:14 412

原创 TCP高级应用 socket多路复用应用示例

系统调用select函数提供轮循等待的方式从多个文件描述符中获取状态变化后的情况

2020-06-06 10:26:55 368

原创 TCP高级应用(1)阻塞与非阻塞基本概念

非阻塞应用示例发送端代码:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<unistd.h>#include<math.h>#include<fcntl.h>#include<sys/types.h>#include<sys/stat.h>#include<sys/mman.h>#include&lt

2020-06-05 11:25:39 358

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除