递归火山软件开发平台
标题:
@吴老板 刚更新的数据报存在不合理。
[打印本页]
作者:
urenai
时间:
2022-7-16 12:36
标题:
@吴老板 刚更新的数据报存在不合理。
本帖最后由 urenai 于 2022-7-16 12:37 编辑
及时更新止损,避免已被应用。
定义事件:数据到达 不应只有1个参数,应当在给一个对方信息参数,用于UDP数据报打洞。
现在接收事件无法获取对方wai网+port,
发送数据 的 前2个参数,现在基本无用。
作者:
urenai
时间:
2022-7-16 12:39
本帖最后由 urenai 于 2022-7-16 12:45 编辑
还是希望更新一下,给接收事件,添加对方IP+PORT
void CUDPSocketObject::OnFilterMessage (UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (m_pSocketInterface == NULL)
return;
if (uMsg == _VSM_DATA_INCOMING && m_hSock != INVALID_SOCKET)
{
INT nSize;
if (ioctlsocket (m_hSock, FIONREAD, (u_long*)&nSize) == 0)
{
nSize = MAX (1, nSize);
CVolMem mem;
BYTE* p = mem.Alloc (nSize);
nSize = recvfrom (m_hSock, (char*)p, nSize, 0, NULL, NULL);
if (nSize != SOCKET_ERROR && nSize > 0)
{
mem.Realloc (nSize);
m_pSocketInterface->OnRecvPeerData (mem);
}
}
}
}
复制代码
应该是这一段。在 m_pSocketInterface->OnRecvPeerData ( , ,mem);
作者:
urenai
时间:
2022-7-16 12:56
调用格式: 〈字节集〉 对象.接收 (整数型 等待时间,对方信息变量 对方信息,[逻辑型变量 是否成功]) - 网络通讯支持库->网络数据报
英文名称:recvfrom_udp
接收来自网络数据报的数据,每次接受的最大长度为20480个字节。如果出错,将向第三个参数写入假,并返回空字节集。本命令为初级对象成员命令。
参数<1>的名称为“等待时间”,类型为“整数型(int)”。等待连接的时间范围 0 无限等待,-1 不等待 其它 具体等待时间(毫秒)。
参数<2>的名称为“对方信息”,类型为“对方信息(halve_info)”,提供参数数据时只能提供变量。获得对方的IP及端口信息。
参数<3>的名称为“是否成功”,类型为“逻辑型(bool)”,可以被省略,提供参数数据时只能提供变量。如果提供本参数,在接收数据成功的情况下,其值将被改写为真;在接收数据失败的情况下,其值将被改写为假。
作者:
飞扬工作室
时间:
2022-7-16 15:25
你说得很有道理,已经更新,你自己可以搜寻更新一下下面三个文件:
(, 下载次数: 9)
上传
点击文件名下载附件
(, 下载次数: 8)
上传
点击文件名下载附件
(, 下载次数: 8)
上传
点击文件名下载附件
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4