发送一个数据包,怎样判断数据发送完整完全
var array=new byte[ary.Length+4];
var lenForByteArray = BitConverter.GetBytes(ary.Length);
Array.Copy(lenForByteArray, array, 4);
Buffer.BlockCopy(ary, 0, array, 4, ary.Length);
socket.BeginSend(array, 0, array.Length, SocketFlags.None, new AsyncCallback(SendCallBack), socket);
private void SendCallBack(IAsyncResult ar)
{
Socket senSocket = (Socket)ar.AsyncState;
var len= senSocket.EndSend(ar);
if(len<??)
//??怎么判断发送数据的长度就是我本该发送的长度,如果一次没有发送完全,接下来继续发送怎样写呢?
}
请教各位
相关推荐
科来数据包生成器,数据包发送器,配合wireshark使用,一个抓包,一个发包
科来数据包生成器,数据包发送器,可以对数据进行修改编辑,可以进行数据包模拟流量发送,配合wireshark使用抓包。非常要好用,强烈推荐。
网卡接收和发送数据包的过程
介绍网卡的接受和发送过程,对网卡驱动编写提供参考
winpcap发送TCP数据包
winpcap开源包,实现数据链路层,网络层,传输层,的封包技术!并发送出去!
发送TCP数据包
发送TCP数据包 计算机网络 课程设计 武汉理工大学
基于winpcap发送数据包
标 题: 【原创】基于WinPCap的网络协议开发 - 炮王(超级打炮机)发送数据包(03) 作 者: 加百力 时 间: 2009-05-18,16:55:36 链 接: http://bbs.pediy.com/showthread.php?t=89175 【文章标题】: 基于WinPCap的网络协议开发 - 炮王(超级打炮机)发送数据包(03) 【文章作者】: 加百力 【软件名称】: WinPCap 【下载地址】: http://www.winpcap.org/ 【内部编号】: MASSADA 0029 【编写语言】: C++ 【使用工具】: VS2005 【操作平台】: Windows 2003 -------------------------------------------------------------------------------- 【详细过程】 在第一篇文章中我们提到WinPCap的基本功能之一就是: 1> 在网络上发送原始的数据包。 发送原始数据包难度不大,只需要应用几个简单的函数就可以了。 我编写炮王程序的主要目的是为了测试WinPCap/libpcap的抓包能力,在不同网速和数据包大小的条件下libpcap的抓包率有多少。 炮王特点: 01、可以发送任意协议的数据包。TCP/IP等等。 02、针对每次发包,会返回状态,可以检测是否成功。在程序中如果失败会自动退出。 03、可以随机修改数据包的:源、目的MAC地址,IP地址,端口、数据内容等属性信息。 04、使用多线程发包,在XP下最多可以同时开2000个线程发包,发包速度快,流量大。在千兆网卡上可以超过15M/s的速度。 05、自动统计发包时间,计算每秒发包数量,流量。 06、可以设置发包的时间间隔,最少到1毫秒。 炮王使用方法: 首先直接运行pw.exe可以看到程序提示的参数信息和显示的当前可用网卡信息。可用网卡信息会保存在CardsInfo.txt文件中。 打开BAT脚本,修改网卡信息,即可。 运行脚本,脚本将数据包文件发送出去。 注意:总的发包数量等于每个线程的发包数量乘以线程总数。 实验的数据包文件都是MSN消息。 具体代码请看附件。 -------------------------------------------------------------------------------- 【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!


