网络编程 新手 求高手帮忙解答下 他这个UDP实现数据通信的 类怎么用的!!!

libingbing5210 2013-05-15 08:30:47
自己属于网络编程的新手,刚接触,公司布置了个新手任务,UDP 实现数据的可靠传输!!网上找了很多资料,貌似这个 UDP的通信类 很符合要求。 不过不知道怎么去调用 他的数据发送函数 和数据的接收 函数。
求用过的 或者 这方面的大神 帮忙解答解答。最好是给个 发送函数,以及接收函数的代码。 相信代码量不大,求各位帮帮忙!!
下面给出这个类的 下载链接 以及 其中的 几个关键函数。
http://download.csdn.net/detail/nono507/3405498
///UDT.h
include <process.h>
#include "UDTKernel.h"
class CUDTRecv;

//发送的部分函数
class CUDTSend
{
public:
CUDTSend(void);
~CUDTSend(void);
public:
static CUDTSend * GetInstance();
static void ClearInstance();
public:
//发送数据
//hSock :UDP句柄 pchBuf:要发送的数据包 nBuflen:发送数据包的长度 pchIP:接收者IP uPort:接收者端口
//注意:不能一次发送超过1.3MB的数据,否则该函数将拒绝发送。推荐大小是1MB
BOOL UDTSend(SOCKET hSock,CHAR * pchBuf,int nBufLen,char * pchIP,USHORT uPort);
//发送数据
//同上
BOOL UDTSend(SOCKET hSock,CHAR * pchBuf,int nBufLen,PSOCKADDR To);
}
//接收的部分函数
class CUDTRecv
{
protected:
CUDTRecv(void);
~CUDTRecv(void);
public:
static CUDTRecv * GetInstance();
static void ClearInstance();
public:
//兼容旧系统,可以通过句柄来接收数据,并完成UDT功能
//hSock:UDP句柄 pchOutBuf:输出参数,接收到的数据包 nOutlen:输出参数,接收数据长度 From:输出结构,数据来自哪个主机
//注意:
// 1.只有当此函数返回TRUE时,所有输出参数在有效,否则无效;
// 2.必须调用UDTFree函数释放pchOutBuf,否则会有内存泄漏
BOOL UDTRecv(SOCKET hSock,char ** pchOutBuf,int * nOutLen,PSOCKADDR From);
//功能同上
//此函数完成对已经接收数据的UDT分析功能
//其他注意事项同上
BOOL UDTRecv(SOCKET hSock,char * pchInBuf,int nInLen,PSOCKADDR From,char ** pchOutBuf,int * nOutLen);
}


应该怎么去调用 数据的 发送 与 接收函数呢??具体该怎么写呢??在尝试写的过程中碰到喊多参数不明白,希望 明白的 大神 帮忙写下,解答下!!
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
有新工作否 2013-05-16
  • 打赏
  • 举报
回复
BOOL UDTRecv(SOCKET hSock,char * pchInBuf,int nInLen,PSOCKADDR From,char ** pchOutBuf,int * nOutLen); 拿这个函数来说,hSock不用说了,socket;pchInbuf和nInLen其实就是一段内存块,用 char pchInBuf[nInLen]表示,其实就是接受数据时,把这段数据放在里面;From是地址信息结构指针,你服务器接收数据的时候,总要记录客户端的地址,因为你要发回去的; char **pchOutBuf = new char[nOutLen][nInLen],因为他说要自己释放,肯定在堆上的,这段意思就是说,我每次接受到的一段数据,把他集中存储在pchOutBuf所指向的地址上。 按照我的理解应该是这样,他的nOutLen解释应该写错了,这应该是一共接收nOutLen段数据,每段数据分配nInLen的内存。
  • 打赏
  • 举报
回复
引用 5 楼 libingbing5210 的回复:
[quote=引用 4 楼 CKnightx 的回复:] 先去看网络编程基础 UDP,socket要发送,先要知道一个正确的远程地址和端口,然后要send(...) UDP接收,要把监听端口和地址绑定,然后接收从该端口来的数据。 先看书把,磨刀不误砍材工
其实我就是想知道下我提供的这个类,他的发送与接收函数怎么实现!!好几个参数不明白!![/quote]
BOOL UDTRecv(SOCKET hSock,char * pchInBuf,int nInLen,PSOCKADDR From,char ** pchOutBuf,int * nOutLen);
这个的pchInBuf 和 nInLen我不知道作用。 其它的应该都还好说。 要实现,就按照UDP的发送个接收来做。 不过要提供保证服务,UDP需要和RTP配合使用才能提供保证吧
libingbing5210 2013-05-16
  • 打赏
  • 举报
回复
引用 4 楼 CKnightx 的回复:
先去看网络编程基础 UDP,socket要发送,先要知道一个正确的远程地址和端口,然后要send(...) UDP接收,要把监听端口和地址绑定,然后接收从该端口来的数据。 先看书把,磨刀不误砍材工
其实我就是想知道下我提供的这个类,他的发送与接收函数怎么实现!!好几个参数不明白!!
  • 打赏
  • 举报
回复
先去看网络编程基础 UDP,socket要发送,先要知道一个正确的远程地址和端口,然后要send(...) UDP接收,要把监听端口和地址绑定,然后接收从该端口来的数据。 先看书把,磨刀不误砍材工
libingbing5210 2013-05-15
  • 打赏
  • 举报
回复
引用 2 楼 nirvana_newbie 的回复:
http://bbs.csdn.net/topics/360035754
跟你给的应该是相同的东西,我就是不知道怎么用才问的啊!!我现在不知道应该怎么调用他的 发送 函数 与 数据的接收函数!!!
nirvana_newbie 2013-05-15
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/360035754
libingbing5210 2013-05-15
  • 打赏
  • 举报
回复
自己先顶一下!!

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧