2017-05-13 55 views
6

Birden çok sunucuya bağlanan bir C# istemci uygulamasına sahibim. İstemci bilgisayarımda çok fazla trafik olduğunda, istemcimin yüksek öncelikli doğru şekilde bağlanmasını sağlamak için NetLimiter etkinleştirilmiş kuralların kullanılmasının gerekli olduğunu fark ettim.NetLimiter uygulamasını uygulamamda nasıl gömebilirim

Bu uygulamada programlı olarak nasıl katıştırılabileceğini ve nasıl kurallar oluşturacağına dair herhangi bir belge bulamadım. Ancak, birisinin Netlimiter API'yi kullanmayı denediğini ancak başarısız olduğunu here okudum.

Öncelikleri yapmak için Windows uygulamasının TC API'sini kullanan bir uygulamayı (here ve işareti DSCP) okuyabileceğim bir yer okudum. Ancak C# uygulamamın akış seçeneklerini ayarlamadan önce this sorununa ulaştım.

Lütfen bana bu sorunla yol göster.

+1

NetLimiter'in bir programı nasıl ele aldığını programlı olarak değiştirmek isterseniz, NetLimiter API'sini kullanmanız gerekir. NetLimiter hata atıyorsa, NetLimiter belgelerine başvurun ve NetLimiter ile bir destek çağrısı açın. – paulsm4

+0

@ paulsm4 API'yi nerede bulabilirim? kendi sitesinde bulamadı. –

cevap

2

Look here. Connect() ve SetRule() kullanılabilir tek API'lardır. Sonra

dynamic myownlimiter = Activator.CreateInstance(Type.GetTypeFromProgID("NetLimiter.VirtualClient")); 
myownlimiter.Connect("host", "port"); 

ve ilk bağlantısında açıklanan şekilde SetRule() kullanın:

NetLimiter böyle bir şey gerekiyor bu yüzden C# kullanmak, bir COM nesnesi gibi görünüyor.

+0

'Type.GetTypeFromProgID (" NetLimiter.VirtualClient ")' döndürür null –

+0

@MatinLotfaliee yazarların sınıf adını değiştirmiş gibi görünüyor. Tümünü listelemek için (https://stackoverflow.com/questions/660319/where-can-i-find-all-of-the-com-objects-that-can-be-created-in-powershell) COM nesne isimleri sisteminizde ve uygun olanı bulun. – hidefromkgb