Yüksek performanslı bir sunucu oluşturmak istediğinizde java'da normal soket yerine nio kullandığınızı biliyorum. Yüksek performanslı sunucular oluşturmak için C# için böyle bir şey var mı?C# ==> Yüksek performanslı sunucu?
cevap
Evet SocketAsyncEventArgs
:
SocketAsyncEventArgs
sınıfı özel yüksek performanslı soket tarafından kullanılabilecek bir alternatif asenkron model sağlarSystem.Net.Sockets.Socket
sınıfa geliştirmeleri bir kümesinin bir parçası olan uygulamalar. Bu sınıf, yüksek performans gerektiren ağ uygulamaları için özel olarak tasarlanmış özelliğidir. Bir uygulama, nolu gelişmiş asenkronize modelini yalnızca veya yalnızca hedeflenen sıcak alanlarında (örneğin, büyük miktarda veri alırken) kullanabilir.
Uhm, bu yanlış değil, ama bu normal bir 'Soket' yerine * yerine * kullanılan özel bir sınıf gibi ses çıkarır. . –
SocketAsyncEventArgs ile programlama kesinlikle 'yalnızca belirli türden bir uyumsuz çağrılar için olay' değildir. Bir proje başlatıldığında, bunu yapmak için net bir seçim vardır: senkronizasyon çağrıları kullanın, klasik async (başlangıç / geri arama/sonlandırma) kullanın veya SocketAsyncEvent kullanın. Sürüm 3.5'teki Soket Performansı Geliştirmeleri konusuna bakın. Http://msdn.microsoft.com/en-us/library/bb968780.aspx –
Düzenli prizleri kullanmanın farklı yolları vardır. Genellikle, eşzamansız kullanım daha iyi ölçeklenir.
Asenkron soketleri kullanabilirsiniz. Eğer bu yeterince iyi değilse, HPC SDK'nın bir parçası olan Network Direct SPI
'u her zaman kontrol edebilirsiniz. Ancak, Network Direct'in donanıma özgü sağlayıcı gerektirdiğini unutmayın.
+1 Ancak, doğrudan ağ için yönetilen bir API bulunmuyor mu? –
Bu ilginç görünüyor, ancak donanıma özgü gereksinimler harika bir fikir olup olmadığını merak ediyor. Bir başka ilginç-ama-belki de yanıltıcı seçenek sadece P/Invoke kullanmaktır. –
Senkronize olmayan bunu yapmazsa, sunucuya bağlanan 5k'dan fazla istemciden bahsediyoruz ve bağlı kaldık ve sunucuyla iletişim kurarız. Ağ doğrudan SPI bir göz atacağım, teşekkürler – aryaxt
SocketAsyncEventArgs, hızlı bir şekilde Windows I/O Tamamlama Bağlantı Noktalarını kullanır. Senkronize olan asenkrondir. SocketAsyncEventArgs ile gerçekten büyük bir anlaşma G/Ç Tamamlanma Portları.
SocketAsyncEventArgs nasıl kullanıldığını görmek için http://www.codeproject.com/KB/cs/socketasynceventargs.aspx'a bakın.
- 1. Yüksek performanslı dizi ortalama
- 2. PHP'de yüksek performanslı bir eşzamansız soket sunucu uygulaması nasıl uygulanır?
- 3. En Verimli Yüksek Performanslı Sunucu Soket/Konu Tasarımı
- 4. wpf 2d yüksek performanslı grafikler
- 5. Yüksek performanslı bir Netty Client nasıl yazılır
- 6. C++ ile yazılmış yüksek performanslı sistem üzerinde çalışıyorum
- 7. Yüksek Performanslı DB. Güncelleme veya Silme
- 8. Toplam türlerini destekleyen yüksek performanslı nesne serileştirme kitaplığı
- 9. Yüksek performanslı iplik güvenli önbellekleme için Guava'yı kullanma
- 10. Javascript Yüksek performanslı (500-1000 düğümler) grafik görselleştirme araç seti
- 11. SQL Server 2005'te yüksek performanslı ağaç görünümü nasıl uygulanır
- 12. odbc, yüksek mysql sunucu yüklemesine neden oluyor
- 13. Yüksek performanslı bir uygulama sunucusu için Yesod'un Warp ve ek sunucudan hangisini seçmeliyim?
- 14. Küme ve düğüm webworker ile yüksek performanslı bir node.js uygulaması oluşturma
- 15. HttpListener Sunucu Üstbilgisi C#
- 16. İstemci sunucu programı C
- 17. En performanslı ses katmanı mı?
- 18. C# bir çarpma yüksek bit Bilgisayar
- 19. ModalPopupExtender Sunucu Yan Kodundan C#
- 20. Oyun için Yerel Sunucu C#
- 21. C yuva istemci/sunucu gecikmesi
- 22. Soket - Java İstemcisi, C# Sunucu
- 23. Java (istemci) ve C# (Sunucu) TCP Soketi. ve Sunucu, istemciden
- 24. Yüksek kaliteli dönüştürme ico
- 25. Yüksek çözünürlüklü zamanlayıcılar, Windows
- 26. Sunucu içi sunucu haberleşmesi için Node.js
- 27. C# Android uygulama istemcisi için sunucu tarafı
- 28. C++ protobuf, ZMQ. İstemci-sunucu arabiriminin işlevleri
- 29. C# dosyaları yerel sunucu yerine klasöre kaydet
- 30. CppCMS ve C++ Sunucu Sayfaları Wt
Son zamanlarda bunu ilginç bulabileceğinizi gördüm: http://developers.slashdot.org/story/10/07/27/1925209/Java-IO-Faster-Than-NIO – AaronLS
@AaronLS: Nio'ya benziyor .NET'in yuvaları her iki şekilde çalışırken, bir async yuva kitaplığıdır. –
Soket sınıfları, dilden bağımsız olarak .NET'te aynı olacak, bu yüzden etiketlerinizi değiştirdim. –