
网络编程技术
dylgsy
一雨田
展开
-
Socket在阻塞模式下的信息收发和文件接收
Socket在阻塞模式下的信息收发和文件接收概述:收发数据是网络编程的主题,在套接字上收发数据我们可以使用send和recv,当然还有Winsock2的WSASend和WSARecv。我们这里只讨论send和recv。套接字可以工作在阻塞态和非阻塞态,,阻塞态就是函数调用会停住,非阻塞态就是函数调用会立刻返回,待到后面的某个时间点在去取得结果。我们这里先讨论阻塞态。收发信息就是在原创 2006-06-29 15:28:00 · 5166 阅读 · 10 评论 -
TCP采用哪些机制来实现可靠数据传输、流控和拥塞控制?
TCP采用哪些机制来实现可靠数据传输、流控和拥塞控制?1.采用面向连接的三次握手实现可靠对象传输。2.使用数据窗口机制协商队列大小实现数据队列传输。3.通过序列化应答和必要时重发数据包,TCP 为应用程序提供了可靠的传输流和虚拟连接服务。下面是找到的长篇大论中比较好的文章:一、TCP协议1、TCP 通过以下方式提供可靠性: ◆ 应用程序分割为TCP认为最合适发送的数据块转载 2012-10-31 10:14:59 · 14795 阅读 · 0 评论 -
网络交换机、路由器、硬件防火墙的理解
描述了对网络交换机、路由器、硬件防火墙的理解原创 2010-10-16 15:21:00 · 11886 阅读 · 0 评论 -
原始套接字学习代码下载
因为太多朋友需要这份源代码了,所以专门在此提供下载链接。 声明:此代码只提供用于学习,使用此代码造成的不良后果均与本人无关,谢谢! http://files.cppblog.com/dylgsy/RawSniffer1.0.2.rar原创 2010-03-11 00:19:00 · 1896 阅读 · 5 评论 -
WinSocket编程——原始套接字
原始套接字是WINSOCK公开的一个套接字编程接口,它让我们可以在 IP 层对套接字进行编程,控制其行为,常见的应用有抓包 (Sniffer)、分析包、洪水攻击、ICMP ping等,但它不能截取包(所谓的截取包就是把包拦截下来,要做到这种“防火墙”的功能,还需要再低一层的驱动层才可以做到)。但是能把网络上的包复制到本机就已经是一个很有用的功能了。我就曾经试过在一个局域网里打开我的SNIFFER,原创 2007-12-21 12:00:00 · 23088 阅读 · 64 评论 -
一个Socket包装类的问题
在以前编写SOCKET包装类的时候,碰到了一个不解的问题,在优快云论坛上也多亏了各位大虾的帮忙,从而得到了解决。今天重新翻看到,觉得这是一个有价值的问题,所以整理发布在这里。问题是这样的:请问,对socket进行包装,其中一个方法是接受客户端的连接。以下的两个函数,一个有问题,一个没问题。请帮忙看看! 1、这个函数是没问题的,把对象用引用传进去 void CDGSoc原创 2007-09-25 11:37:00 · 3412 阅读 · 1 评论 -
WinSocket模型的探讨——完成端口模型(一)
众所皆知,完成端口是在WINDOWS平台下效率最高,扩展性最好的IO模型,特别针对于WINSOCK的海量连接时,更能显示出其威力。其实建立一个完成端口的服务器也很简单,只要注意几个函数,了解一下关键的步骤也就行了。这是篇完成端口入门级的文章,分为以下几步来说明完成端口: 函数 常见问题以及解答 步骤 例程 1、函数:我们在完成端口原创 2007-08-02 12:09:00 · 5938 阅读 · 7 评论 -
WinSocket模型的探讨——Overlapped模型(一)
重叠模型是Windows里一种重要的 I/O 模型,可以有效率的实现一些 I/O 操作,譬如文件读写、Socket读写等,在这里我们一起来研究一下重叠模型,看看它究竟为何方神圣。这篇文章分为以下几部分来说明: 重叠模型的概念 容易碰到的一些问题 重叠模型的基本编程方法(accept 和 AcceptEx ) 突破64个事件的等待限制原创 2007-07-26 21:08:00 · 7371 阅读 · 8 评论 -
WinSocket模型的探讨——select模型
查找了很多资料都找不到select模型的详细用法,《Windows网络编程》这本书上也只是写了一个简单的回应服务器,就连writefds的用法都没讲,也不知道什么时候利用“可写”来发文件。这些都是我的疑问,相信很多研究网络编程的同路人也碰到了我的这些问题。这些疑问在这篇文章中都解决了!耗费了偶很多的精力去猜测去思考! 感觉一些已经得道的高人都不肯把这些问题说透彻点,唉,只能靠自己去摸索了,希望原创 2007-01-18 23:36:00 · 9511 阅读 · 18 评论 -
WinSocket模型的探讨——漫谈
SOCKET有两种模式——阻塞和非阻塞。如果使用了阻塞,在某个时间点如果出现了网络问题,一边调用recv接收不到数据的时候,那就会导致程序挂在那里!对于这个问题有两种解决的方法:一是保证使用的环境永远不会出现这种情况,二是使用多线程(就算出现了阻塞的情况也就是线程挂了,主线程还是生龙活虎的)。如果使用非阻塞的SOCKET,我们需要不断的去轮询看recv/send函数是否成功,如果不成功,我原创 2007-01-19 11:06:00 · 4020 阅读 · 0 评论 -
google ProtoBuf开发者指南
[转载] google ProtoBuf开发者指南google ProtoBuf开发者指南ProtoBuf开发者指南译者:gashero目录1 概览1.1 什么是protocol buffer1.2 他们如何工作1.3 为什么不用XML?1.4 听起来像是为我的解决方案,如何开始?1.5 一点历史2 语言指导转载 2013-03-08 16:27:37 · 1397 阅读 · 0 评论