通讯
ylluo_hust
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TCP的TIME_WAIT快速回收与重用
原文在这里:http://blog.youkuaiyun.com/dog250/article/details/13760985Linux中是无法修改tcp的TIME_WAIT值的,除非重新编译,起码我是没有找到怎么改。值得注意的是,net.ipv4.tcp_fin_timeout这个参数是FIN_WAIT_2的值,而不是TIME_WAIT的值。我不知道为何很多人都会把它当成是TIME_WAIT的值,想了转载 2014-01-13 15:36:51 · 710 阅读 · 0 评论 -
CreateIoCompletionPort和完成端口
原文在这里:http://blog.youkuaiyun.com/hionceshine/article/details/3362669摘自《Networking Programming for Microsoft Windows》第八章“完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!从本转载 2014-03-06 19:42:49 · 853 阅读 · 0 评论 -
手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(下)
原文在这里:http://blog.youkuaiyun.com/piggyxp/article/details/3911121 续 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(上) 四. 完成例程的实现步骤基础知识方面需要知道的就是这么多,下面我们配合代码,来一步步的讲解如何亲手实现一个完成例程模型(前面几步的步骤和基于事件通转载 2014-03-06 19:34:56 · 685 阅读 · 0 评论 -
套接字I/O模型-完成端口IOCP
原文在这里: “完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的CPU数量的增多,应用程序的性能也可以线性提转载 2014-03-07 08:56:01 · 1207 阅读 · 0 评论 -
把手教你玩转SOCKET模型之重叠I/O篇(下)
原文在这里:http://blog.youkuaiyun.com/piggyxp/article/details/114908四。 实现重叠模型的步骤作了这么多的准备工作,费了这么多的笔墨,我们终于可以开始着手编码了。其实慢慢的你就会明白,要想透析重叠结构的内部原理也许是要费点功夫,但是只是学会如何来使用它,却是真的不难,唯一需要理清思路的地方就是和大量的客户端交互的情况下,我们得到事转载 2014-03-06 19:38:51 · 674 阅读 · 0 评论 -
完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
原文在这里:http://blog.youkuaiyun.com/piggyxp/article/details/6922277 手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪转载 2014-03-06 19:15:11 · 898 阅读 · 0 评论 -
UDP多播与广播的实践
原文在这里:http://blog.youkuaiyun.com/raoxuanxuan/article/details/20012931最近项目的需要,了解了一下UDP多播与广播。1. UDP多播UDP多播是这样子的:老师要给班上学生通知消息,他要么一个个地给每个同学去说(这就是单播),要么他写在黑板上,每个同学进教室都可以看得见。后者就是多播,即说有一台主机(老师)往一个地址上(黑转载 2014-03-10 08:49:16 · 1719 阅读 · 0 评论 -
CAN总线基础知识(三)
原文在这里:http://blog.youkuaiyun.com/shanghaiqianlun/article/details/179115451.CAN协议1.1 帧类型通讯时使用下面5个类型的帧: 数据帧 遥控帧 错误帧 过载帧 帧间空隙 在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CA转载 2014-03-27 15:01:43 · 1421 阅读 · 0 评论 -
socket异步通讯
将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即:设置成非阻塞模式:先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags = fcntl(sockfd, F_GETFL, 0); //获取文件的flags值。转载 2014-04-30 11:02:54 · 662 阅读 · 0 评论 -
在Qt中如何实现QThread线程同步QFtp
在Qt中实现QThread线程同步QFtp ,对于QFtp,它是一个用来实现FTP协议的类,详情查阅资料。接触Qt没有多长时间,但简单几个小例子已经让我感受到Qt在C++运用方面的强大。写了一个小程序,需要在一个单独的线程中使用QFtp来获取FTP服务器上面的文件。FTP是FileZilla。有两个问题我比较关心:(1)QThread到底如何使用(2)QFtp是Async(转载 2014-04-15 11:21:03 · 2485 阅读 · 0 评论 -
非阻塞模式WinSock编程入门 WSAAsyncSelect
介绍WinSock是Windows提供的包含了一系列网络编程接口的套接字程序库。在这篇文章中,我们将介绍如何把它的非阻塞模式引入到应用程序中。文章中所讨论的通信均为面向连接的通信(TCP)为清晰起见,文章对代码中的一些细枝末节进行了删减,大家可以依照文末的链接 下载完整的工程源码 来获取这部分内容。阻塞模式WinSock下述伪代码给出了阻塞模式下WinSock的转载 2014-04-23 09:36:43 · 718 阅读 · 0 评论 -
Linux tcpdump命令详解
原文在这里:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、转载 2014-01-14 20:23:55 · 544 阅读 · 0 评论 -
QTcpSocket使用过程中的一些问题记录
目前,在将原来C的socket通讯改为使用Qt类库QTcpSocket通讯,在修改过程原创 2014-04-21 20:36:26 · 13421 阅读 · 0 评论 -
手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(上)
原文在这里:http://blog.youkuaiyun.com/piggyxp/article/details/3910726手把手教你玩转网络编程模型之完成例程(Completion Routine)篇前 言记得写这个系列的上一篇文章的时候已经是四年前了,准确的说是四年半以前了,翻开我尘封已久的IO模型里面的“完成例程”的实现方式及示例代码。本文凝聚着笔者心血,如要转载,请指明原转载 2014-03-06 19:33:15 · 775 阅读 · 0 评论 -
手把手教你玩转SOCKET模型之重叠I/O篇(上)
原文在这里:http://blog.youkuaiyun.com/piggyxp/article/details/114883手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”转载 2014-03-06 19:25:07 · 529 阅读 · 0 评论 -
遭遇SIGPIPE
原文在这里:http://blog.youkuaiyun.com/mustanglau/article/details/4485491我写了一个服务器程序, 在Linux下测试时, 总是莫名退出. 最后跟踪到是write调用导致退出. 用gdb执行程序, 退出时提示"Broken pipe".最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该转载 2014-01-14 08:16:15 · 544 阅读 · 0 评论 -
Windows完成端口与Linux epoll技术简介
原文在这里:http://www.cnblogs.com/liuweijian/archive/2009/12/27/1633657.htmlWINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型转载 2014-01-14 08:22:55 · 629 阅读 · 0 评论 -
TCP协议疑难杂症全景解析
原文在这里:http://blog.youkuaiyun.com/dog250/article/details/6612496说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重转载 2014-01-13 15:42:01 · 596 阅读 · 0 评论 -
Linux网络连接状态检查
原文在这里:http://suchalin.blog.163.com/blog/static/553046772010511114031481/统计连接数状态: [root@localhost conf]# netstat -n|awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'LAST_AC转载 2014-01-14 08:17:41 · 1068 阅读 · 0 评论 -
linux setsockopt
原文在这里:http://www.cnblogs.com/qq78292959/archive/2012/03/22/2411387.html1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const c转载 2014-01-14 08:18:30 · 462 阅读 · 0 评论 -
Linux下Socket连接超时的一种实现方法
原文在这里:http://tech.ccidnet.com/art/302/20070605/1102125_1.html目前各平台通用的设置套接字(Socket)连接超时的办法是:创建套接字,将其设置成非阻塞状态。调用connect连接对端主机,如果失败,判断当时的errno是否为EINPROGRESS,也就是说是不是连接正在进行中,如果是,转到步骤3转载 2014-01-14 08:19:35 · 950 阅读 · 0 评论 -
完全实现linux下SOCKET连接断开判断
原文在这里:http://bbs.chinaunix.net/thread-930153-1-1.htmllink: http://libsbase.googlecode.com/svn/trunk/0.0.2/netcheck-0.0.3.tar.gz/* Net check Make sure you have not used OUT OF BAND DA转载 2014-01-14 08:20:43 · 781 阅读 · 0 评论 -
阻塞模式下的send、recv、close总结
原文在这里:http://blog.youkuaiyun.com/feimashenhua/article/details/5444165#comments阻塞模式下的send、recv、close总结: 对于send函数: send函数只负责将数据提交给协议层。 当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲区的长度,如果len大于s的转载 2014-02-20 20:48:33 · 2147 阅读 · 0 评论 -
Linux下tcp 和 udp 套接字收发缓冲区的大小决定规则
原文在这里:http://www.linuxidc.com/Linux/2012-08/68874.htm1. tcp 收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 416153687380 :tcp接收缓冲区的默认值[roo转载 2014-02-11 11:16:29 · 557 阅读 · 0 评论 -
linux系统errno定义
原文在这里:http://mysuperbaby.iteye.com/blog/1396378#define _ASM_GENERIC_ERRNO_BASE_H#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH转载 2014-02-17 21:35:10 · 785 阅读 · 0 评论 -
TCP TIME_WAIT详解
原文在这里:http://blog.chinaunix.net/uid-20384806-id-1954363.htmlTIME_WAIT状态TCP要保证在所有可能的情况下使得所有的数据都能够正确被投递。当关闭一个 socket 连接时,主动关闭一端的 socket 将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态。见图解。转载 2014-02-18 21:49:01 · 427 阅读 · 0 评论 -
TCP连接过程详解
原文在这里:http://blog.163.com/hlz_2599/blog/static/142378474201151943414397/ tcp状态:LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代转载 2014-02-18 20:53:56 · 575 阅读 · 0 评论 -
使用 Socket 通信实现 FTP 客户端程序
FTP 概述文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,就可以相互传输数据。本文主要基于 LINUX 平台,对转载 2014-04-28 11:21:01 · 594 阅读 · 0 评论
分享