сокеты — Microsoft Iot Core, позволяющий TCP через брандмауэр для сервера

Я купил 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);
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]