logo search
OS Windows / Знакомство с Hyper-V

Создание сокета Hyper-V

В большинстве случаев, чтобы определить сокет, требуется семейство адресов, тип соединения и протокол.

Вот простое определение сокета

Пример:

// Windows

SOCKET WSAAPI socket( _In_ int af,

_In_ int type, _In_ int protocol

);

// Linux guest

int socket(int domain, int type, int protocol);

Для сокета Hyper-V:

Семейство адресов— AF_HYPERV (Windows) или AF_VSOCK (гостевая ОС Linux)

Тип— SOCK_STREAM

Протокол— HV_PROTOCOL_RAW (Windows) или 0 (гостевая ОС Linux)

Пример объявления или создания экземпляра:

// Windows

SOCKET sock = socket(AF_HYPERV, SOCK_STREAM, HV_PROTOCOL_RAW);

// Linux guest

int sock = socket(AF_VSOCK, SOCK_STREAM, 0);