Я купил Raspberry Pi 3 и пытаюсь использовать сервер сокетов при запуске, но ничего не происходит, когда я пытаюсь подключиться к серверу через telnet.
Я знаю, что код работает отлично, потому что я скопировал его в обычное приложение Win32 (разрешил брандмауэр, я согласился), и он работал отлично.
На моем сделал powershell и использовал эту команду, чтобы пропустить его, возвращаемое значение было в порядке, но когда я попытался соединиться через telnet, оно все еще не работало:
netsh advfirewall firewall add rule name="Open Port 9000" dir=in action=allow protocol=TCP localport=9000
Это мой код:
void StartupTask::Run(IBackgroundTaskInstance^ taskInstance)
{
WSADATA WsaData = { 0 };
WSAStartup(MAKEWORD(2, 2), &WsaData);
ADDRINFOW hints = { 0 }, *results = nullptr;
hints.ai_family = AF_INET;
hints.ai_protocol = IPPROTO_TCP;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
GetAddrInfoW(nullptr, L"9000", &hints, &results);
SOCKET hSocket = socket(results->ai_family, results->ai_socktype, results->ai_protocol);
bind(hSocket, results->ai_addr, static_cast<int>(results->ai_addrlen));
listen(hSocket, 0);
char RecvBuffer[500];
SOCKET hConnection = INVALID_SOCKET;
hConnection = accept(hSocket, nullptr, nullptr);
while (true)
{
send(hConnection, "Hello!", 7, 0);
recv(hConnection, RecvBuffer, 500, 0);
}
}
Задача ещё не решена.
Других решений пока нет …