码迷,mamicode.com
首页 >  
搜索关键字:msg_peek    ( 8个结果
socket——recv??按行读取
1、recv、read recv和read的区别?? recv只能用于套接口io,不能用于文件io或者其他io read可以用于各种io recv相较而言多了flag参数,MSG_OOB(接收紧急数据指针)MSG_PEEK(接收缓冲区数据,但是并不急着清除) 2、封装按行读取readline 3、g ...
分类:其他好文   时间:2020-04-19 12:52:53    阅读次数:77
linux套接字或者文件描述符的未读取得字节数FIONREAD,MSG_PEEK标志
FIONREAD,就是返回缓冲区有多少字节。输入有个输入缓冲区,用int nread;ioctl(0,FIONREAD,&nread);能得到缓冲区里面有多少字节要被读取。值放在 nread里面了。然后就可以 read 了。nread = read(0,buffer,nread); MSG_PEEK ...
分类:系统相关   时间:2017-09-26 23:37:49    阅读次数:189
Linux高危漏洞曝光:Linux 内核 ipv4/udp.c 远程恣意代码执行
漏洞描述Linuxkernel是美国Linux基金会发布的操作体系Linux所使用的内核。Linuxkernel4.5之前的版别中的udp.c文件存在安全缝隙,Linux内核中的udp.c答应长途攻击者经过UDP流量履行恣意代码,这些流量会在履行具有MSG_PEEK象征的recv体系调用时触发不安全的第2次校验和核算,长..
分类:系统相关   时间:2017-05-15 22:47:02    阅读次数:280
10socket编程
这一节主要关注的还是粘包问题,我们利用recv实现一个recv_peek函数,它的目的是偷窥目的,它是利用recv的一个msg_peek参数与read的区别,read读取后会擦除缓冲区的内容,而recv结合msg_peek会读取的时候并不擦除缓冲区的内容,起到一个可以偷窥的目的,利用这个特性可以用r...
分类:其他好文   时间:2015-04-28 01:50:25    阅读次数:114
源码阅读tinyhttpd
tinyhttpd 是一个用C语言实现的简单的HTTP服务器程序,500行代码,值得阅读。看完这个代码之后有几点需要进一步的思考: 1.get_line()函数要处理跨平台的换行('\n' or '\r\n') MSG_PEEK 标志可以窥探缓冲区中的数据,从而决定是否读取; 2.stat  ,st.st_mode & S_IFMT) == S_IFDIR 判断对应的路径是否是目录; 3....
分类:Web程序   时间:2015-04-03 21:06:00    阅读次数:225
Linux IPC简单总结
###Linux IPC### --------------- ##消息传递## - 信号: 非亲缘,传递信息少,只能是控制信息而不是数据信息   - 管道: 要亲缘,无边界字节流,先进先出,消耗掉就没了,没有窥探功能MSG_PEEK   - FIFO: 非亲缘,无边界字节流,先进先出,消耗掉就没了,没有窥探功能MSG_PEEK   - Socket: 非亲缘,边界可有可...
分类:系统相关   时间:2014-09-11 21:01:22    阅读次数:292
MSG_PEEK标志
MSG_PEEK标志可以用来读取套接字接收队列中可读的数据,一些情况会用到它,比如为了避免不阻塞而先检查套接字接收队列中可读的数据长度,再采取相应操作。 当然,不阻塞也可采取其他的方法,例如非阻塞式I/O。 MSG_PEEK标志会将套接字接收队列中的可读的数据拷贝到缓冲区,但不会使套接子接收队列中的数据减少,常见的是:例如调用recv或read后,导致套接字接收队列中的数据被读取后而减少,...
分类:其他好文   时间:2014-06-07 12:06:33    阅读次数:441
socket编程中recv与send函数
recv函数会将套接字缓冲区中的内容读出,但不清空,与read函数的区别在此。此函数有一个flag标志位,设为MSG_PEEK。 send函数会将缓冲区中的内容写入到套接字,也不清空,与write函数的区别在此。 用这两个函数可以先接收或发送缓冲区中的内容,然后再用readn(此时缓冲区中的内容依然存在)与write函数去继续判断换行符/n,对缓冲区内容实现换行输出。 echocli.c...
分类:其他好文   时间:2014-05-13 23:43:35    阅读次数:494
8条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!