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