网络传输~高手救命。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! 有个问题:传输文件,比如传 1M ,收到不一定按顺序的。怎么样重组呢???有没有这方面的源代码? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 算吗?不清楚啊~ !只要告诉我怎么样传文件。然后怎么样判断那个SEND 过来的信息是哪一块? 写个包头,如rtp包的ssrc,按顺序递增(+1),到客户端那判断是否丢包并重排 发包时可以使用一个结构打包,使用package打包数据,发送char *, 收到数据后将数据按Unpackage解包,用链表什么的记录,最后将包一个个按index排序即可。写个简单例子,错误处理也不严谨了, 大概如此吧。struct SSendBlock{ int nIndex; char cBuffer[1024]; //使用动态分配也可以,不过需要带上包尺寸了,尺寸计算也需要注意. char *Package(int &nSize) { nSize = sizeof(*this); return (char *)this; } bool UnPackage(const char* RecvBuffer, int nSize) { assert(nSize != sizeof(*this); if (nSize != sizeof(*this) return false; memcpy((char *)this, RecvBuffer, nSize); return true; }} 对话框图片控件 我们是否可以设置TCP中的RTT? 有用VC的吗,请问用MessageBeep(0);发声后如何停止发声? DllMain的第一个参数HINSTANCE hinstDLL是in还是out 在MDI子窗口中如何增加列表视图,初学请高手指教 请教一个编译的问题 用VC建立Win32 Console App和Win32 App有什么区别? 讨论,讨论屏保程序,散分 摄像头做触摸屏高手研究下 link的时候出错,FAINT vim怎样嵌入到Visual Studio.NET 2003 关于端口复用
写个简单例子,错误处理也不严谨了, 大概如此吧。struct SSendBlock
{
int nIndex;
char cBuffer[1024]; //使用动态分配也可以,不过需要带上包尺寸了,尺寸计算也需要注意.
char *Package(int &nSize)
{
nSize = sizeof(*this);
return (char *)this;
}
bool UnPackage(const char* RecvBuffer, int nSize)
{
assert(nSize != sizeof(*this);
if (nSize != sizeof(*this) return false; memcpy((char *)this, RecvBuffer, nSize);
return true;
}
}