
다음과 같이 SIP 클라이언트(오픈 소스 Linphone에서 가져옴)에 ToS(QoS) 지원을 추가하려고 합니다.
retval = setsockopt(session->rtp.socket, proto, value_type, (SOCKET_OPTION_VALUE)&tos, sizeof(tos));
그러나 Windows 7에서는 ToS를 추가하려는 모든 시도가 실패했습니다. Wireshark에서 볼 수 있듯이 계속해서 0을 설정합니다. 누군가는 이것이 Windows의 "기능"(버그 읽기)이라고 말했습니다.
나는 읽었다이 페이지QoS 정책을 생성하는 방법에 대해 설명하기 때문에 GUI를 사용하여 수동으로 생성했습니다.
다음 단계를 시도했습니다.
- 이동
HKLM\System\CurrentControlSet\Services\Tcpip\QoS
QoS
키가 없으면 생성하세요 .REG-SZ
이름이 지정된 매개변수 를 추가Do not use NLA
하고 값을 지정합니다.1
- 재부팅
원하는 대로 작동하지만 이제 내 질문은 그러한 정책 생성을 어떻게 자동화할 수 있느냐는 것입니다(예: 프로그램 설치 중에 완료될 수 있도록).
[편집하다]
내 코드는 순수 C이며 C# 소스 코드 를 사용하는 것은 minGW
../configure && make && make install
답변1
기사Windows에서 프로그래밍 방식으로 로컬 정책 업데이트이 문제를 해결할 수 있는 .NET 라이브러리에 대해 설명합니다.
.net 프로그램을 작성하고 싶지 않다면 가장 간단한 해결책은 오토핫키해당 그룹 정책을 생성하는 GUI 조작을 수행하는 .exe로 컴파일될 수 있는 매크로입니다.
Windows 8 또는 Server 2012를 사용하는 경우 PowerShell을 통해 QoS 구성이 가능합니다.
Windows PowerShell의 네트워크 QoS(서비스 품질) Cmdlet.