无法在Android N上发送UDP数据包

时间:2016-07-20 10:05:23

标签: sockets android-ndk udp rtp android-7.0-nougat

我有一个发送UDP数据包的应用程序,套接字正在正确创建,但在发送数据包时出错。该应用程序适用于除Android N之外的每个Android版本。

我收到以下错误SendTo() error: 13。 以下是代码的一部分:

bool Bind(const SocketAddress& name)
{
int size = sizeof(sockaddr);
std::cout << "Socket Reuse SET" << std::endl;
int yes = 1;
if( 0 == setsockopt(_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)))
{
    std::cout << "Socket set" << std::endl;
}

if (0 == bind(_socket, reinterpret_cast<const sockaddr*>(&name),size))
{
    return true;

}
_error = errno;
return false;


}

int32_t SendTo(const int8_t* buf, size_t len,
                               const SocketAddress& to)
{
    int size = sizeof(sockaddr);
    //std::cout << "Send TO [" << buf << "]" << std::endl;
    int retVal = sendto(_socket,buf, len, 0,
                        reinterpret_cast<const sockaddr*>(&to), size);
    if(retVal == SOCKET_ERROR)
    {
        _error = errno;

    }

    return retVal;
}

任何人都可以帮我解决这个问题。 在此先感谢。

0 个答案:

没有答案