TCP/IP üzerinden iletişim kuran bir istemci-sunucu uygulamasına sahibim.
TCP üzerinden ascnyronous iletişim için System.Net.Sockets.Socket
tipi nesne kullanıyorum. Temel olarak, bağlantı gönderim/alma verilerini açıp bağlantıyı kapatıyorum. Ve benim uygulamam Soket tipi nesnelere dayanıyor.
Şimdi bir şey yapmak için üçüncü taraf bir dll kullanmam gerekiyor. Bu dll, System.IO.Stream
türünde bir nesne bekler. Bu yüzden benim Soket nesnesinin Stream nesnesini almam gerekiyor.
Bunu nasıl yapabilirim?
Teşekkür ederiz.bir soket nesnesinin akışını alın C#
cevap
Oldukça basit. NetworkStream sınıfının yapıcı bir soket sarmak için kabul eder:
http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.aspx
// NOTE: This demonstrates disposal of the stream when you are
// done with it- you may not want that behavior.
using (var myStream = new NetworkStream(mySocket)) {
my3rdPartyObject.Foo(myStream);
}
bu harika :) bu şekilde düşünemedim. Teşekkürler. – Fer
Sadece bu akış kullanıcısı 'myStream.Close()' olarak adlandırmak isteyecekse, NetworkStream'i soket sahipliğine sahip olmanızı öneririm: 'new NetworkStream (mySocket, true)'. Aksi halde, akışı kapattıktan sonra bir okuma işleminde bloke olan iş parçacığının hala neden engellendiğini merak ediyorsunuz. –
System.Net.Sockets.SocketType.Stream bakarak deneyin?
Veya System.Net.Sockets.NetworkStream dosyasına bakmayı deneyin. Soket ve Akış karıştırırken
http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.aspx
Teşekkürler John, @Chris Shain'in cevabı işe yarıyor. İhtiyacım olan bu. – Fer
- 1. Python yineleyici nesnesinin dizinini alın
- 2. C++ 'da Soket Programlama
- 3. C# Asyn. Soket Programlaması
- 4. stdio akışını başka bir işleve geçirme C++
- 5. ActiveRecord nesnesinin özniteliğini string ile alın.
- 6. C# COM nesnesinden progID alın
- 7. (How) Soket tipini soket tanımlayıcısından bulabilir miyim?
- 8. C# uygulamasında Raspberry Pi h264 akışını oynatın
- 9. C# içinde bir nesneyi seri hale getirin ve bayt akışını alın
- 10. C# Soket programlama, pencereleri kapatma
- 11. Soket - Java İstemcisi, C# Sunucu
- 12. Bir ülkenin kıtasını alın C#
- 13. gsoap restful C++ istemcisi akışını kullanarak
- 14. C# içinde yuvalar: Yanıt akışını nasıl alabilirim?
- 15. Soketin giriş akışını kapatmak da soket bağlantısını kapatır mı? İstemci alışkanlık "soket bağlantısı hala" iletisi - Ben inputStream fromSocket kapattıktan sonra
- 16. Soket protokolü tanımlayamıyor (soket sızıntısı)
- 17. C Soketler: Soket kapalıyken çöplerden kaçınmak
- 18. C# .NET Soket bağlantısı sorunu - normalde
- 19. bir Soket Sunucusu
- 20. Linux'ta C/Soket programlamasındaki sohbet odası
- 21. Soket dinle, linux altında C++ 'da açılmıyor
- 22. Resim Gönderme (JPEG) C Soketindeki Soket aracılığıyla
- 23. Nesne nesnesinden alın C#
- 24. Yeni AppDomain'e bir soket geçiriliyor
- 25. İçerik Sayfasında Ana Sayfa nesnesinin kimliğini alın Sayfa
- 26. C# lookup değerden alın
- 27. C# SettingsPropertyCollection'dan özellikler alın
- 28. C# soket i C# prizler kullanmayı öğrenmeye çalışıyorum
- 29. C soket programlaması için iyi bir kitap/kılavuz nedir?
- 30. Bir C# udp soket istisnasından incelikle nasıl kurtarılır?
dikkatli olun - Bir soket örneği ÅŸan - bir dere örneği değil! – weismat