UDP切包发送。避免发送内容大于MTU
来源:互联网 发布:一人能开几个淘宝店 编辑:程序博客网 时间:2024/06/07 08:24
struct PS_Buf
{
char * data_buf;
char * ptr;
int len;
};
int sendlen;
void STDCALL CIvms8200::StreamCallBack(long RealHandle, int StreamType, const char *Data, int DataLen, const char *DecoderTag, void *UserData)
{
if(flag_t == 0)
{
flag_t = 1;
fp = fopen("C:\\Users\\Administrator\\Desktop\\TaiZhou\\API.ps","wb");
fp_t = fopen("C:\\Users\\Administrator\\Desktop\\TaiZhou\\UDP.ps","wb");
}
fwrite(Data,DataLen,1,fp);
CALL_INFO_ST *pItem = static_cast<CALL_INFO_ST *>(UserData);
PS_Buf PS = {0};
PS.data_buf = (char*)Data;
PS.len = DataLen;
PS.ptr = PS.data_buf;
while(PS.len >= 0)
{
if(PS.len >= 1316)
{
sendlen = sendto(pItem->iSocket, (const char *)PS.ptr, 1316, 0, (SOCKADDR *)&pItem->addr, sizeof(SOCKADDR));
fwrite(PS.ptr,sendlen,1,fp_t);
PS.ptr += sendlen;
}else if(PS.len >0)
{
sendlen = sendto(pItem->iSocket, (const char *)PS.ptr, PS.len, 0, (SOCKADDR *)&pItem->addr, sizeof(SOCKADDR));
fwrite(PS.ptr,PS.len,1,fp_t);
}
PS.len -= sendlen;
printf("data size is ------->%d\n",PS.len);
}
//sendto(pItem->iSocket, (const char *)Data, DataLen, 0, (SOCKADDR *)&pItem->addr, sizeof(SOCKADDR));
}
阅读全文
0 0
- UDP切包发送。避免发送内容大于MTU
- windows下发送UDP包大于1024时速度下降
- tcp,udp每次发送大小 一个mtu
- UDP发送广播包
- Android 发送UDP包
- 关于netty UDP不能发送大于2048字节包的问题
- java发送udp广播包
- java发送udp广播包
- 为什么udp为什么不能发送大于1472字节数据
- 为什么udp为什么不能发送大于1472字节数据
- 为什么udp为什么不能发送大于1472字节数据
- udp发送
- 发送udp包-windows网络编程
- 三种发送UDP包的函数
- socket,UDP发送ARP包(c++实现)
- UDP协议发送、接收广播包 .
- 如何用objective-c发送udp包
- UDP广播包的发送问题
- Spring基础部分(ioc,aop,事物)
- C++之全局函数与成员函数的转换
- 一道关于竞赛图的题目
- netty in action.pdf 英文原版 免费下载
- Python3 装饰器
- UDP切包发送。避免发送内容大于MTU
- 安装RabbitMQ及使用方法
- win7中cookie存放的位置以及如何查看
- java使用pd4ml将html转换成pdf
- 《C++ 多态篇 imooc》笔记
- Thumbnailator使用简介
- 阻塞非阻塞与同步异步
- jQuery easyUI分页的实现
- bzoj2301 [HAOI2011]Problem b(求gcd==k的个数)(莫比乌斯反演+容斥原理)