现象
1:当发送特定SendData结构的数据时(比如第3个SendData结构体),不管发送多少次,怎么也发送不出去。
最后用抓包软件跟踪发现数据其实已发送到客户端,可就是不触发客户端的recvfrom()函数2:如对此特定数据包重置0,发送接收就正常
比如memset(&sd->buf,0,sd->size);然后再发送,此SendData就能正常发送我UDP程序用的是异步接收模式,在socket上注册了read,write,close消息,然后等待消息处理。
哎,真不知道为什么会对特定的数据包发送失败请各位高手帮忙一下,谢谢谢谢void CUdp::Send(SendData* sd)
{
CSend->Send(&sd->buf, sd->size, addr_);
}int CSend::Send(const void* data, size_t size, const SocketAddress& addr)
{
int sent = 0;
sent = socket_->SendTo(data, size, addr);
return sent;
}
1:当发送特定SendData结构的数据时(比如第3个SendData结构体),不管发送多少次,怎么也发送不出去。
最后用抓包软件跟踪发现数据其实已发送到客户端,可就是不触发客户端的recvfrom()函数2:如对此特定数据包重置0,发送接收就正常
比如memset(&sd->buf,0,sd->size);然后再发送,此SendData就能正常发送我UDP程序用的是异步接收模式,在socket上注册了read,write,close消息,然后等待消息处理。
哎,真不知道为什么会对特定的数据包发送失败请各位高手帮忙一下,谢谢谢谢void CUdp::Send(SendData* sd)
{
CSend->Send(&sd->buf, sd->size, addr_);
}int CSend::Send(const void* data, size_t size, const SocketAddress& addr)
{
int sent = 0;
sent = socket_->SendTo(data, size, addr);
return sent;
}
{
CSend->Send(/*既然sd是指针,这地方不需要&吧*/sd->buf, sd->size, addr_);
}