我有一个发送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;
}
任何人都可以帮我解决这个问题。 在此先感谢。