网络编程
youge_C
这个作者很懒,什么都没留下…
展开
-
简单的几种网络超时检测
使用setsockopt、select、alarm等函数实现网络超时检测原创 2017-11-13 19:40:23 · 5301 阅读 · 0 评论 -
getsockopt( )函数详解
一个简单的例子搞定getsockopt()原创 2017-11-13 19:35:56 · 45784 阅读 · 1 评论 -
TCP通信,recv接收数据需要注意的地方?
关于TCP通信中,recv函数接收数据大小的问题,之前一直觉得,只要是客户端与服务器一发一收的模式,那么recv接收的数据大小一定是函数中指定的数据大小。这次写了客户端与服务器通信的程序,在这上面栽了一个大跟斗。 程序功能如下:通过客户端与服务器的通信,实现文件的传输,客户端每次发送1k的数据,服务器每次接收1k大小数据并将数据存储到文件中,就这样一发一收的循环发送接...原创 2018-06-03 22:51:04 · 10207 阅读 · 5 评论 -
使用dnsmasq,实现本地的DNS服务
首先到网上下载dnsmasq源程序,直接在http://www.thekelleys.org.uk/dnsmasq/中选择一个版本下载。解压压缩包,并进入解压目录下tar -vxf dnsmasq-2.78.tar.gz cd dnsmasq-2.78输入命令安装dnsmasqsudo make install...原创 2018-06-05 21:52:13 · 17109 阅读 · 0 评论 -
accept阻塞等待,close(fd)无作用
bind绑定端口之后,accept还在阻塞等待连接,这时如果另一个线程close(fd),此时的fd并没有解绑,该端口还是处于监听状态;导致其他线程绑定该端口时失败;要解决该问题,需要将accept函数改为非阻塞等待,并通过一个标志位来判断是否继续accept; while (1) { FD_...原创 2018-11-17 16:15:53 · 2715 阅读 · 0 评论 -
详解TCP建立连接、传输数据、断开连接全过程
本文通过wrieshark抓取TCP包,来对TCP进行细致的解析,从实践中了解TCP各个过程。首先介绍下TCP的6种标志位,wriehark会根据这些标志位,在抓取的包中进行标记,方便我们查看:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(u...原创 2018-11-17 16:35:20 · 7530 阅读 · 1 评论