0

我有一个发送 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;
}

谁能帮我解决这个问题。提前致谢。

4

0 回答 0