Java'da anında mesajlaşma yapıyorum ve hem metin hem de resim gönderme özelliğini eklemek istiyorum. Akla gelen ilk şey yeni Soketler ve giriş ve çıkış akışları yapmaktı. Öncelikle, bu çalışma olacak ve bu iyi bir uygulama. İkincisi, eğer bu işe yaramazsa, mesajın alıcı ucu bir görüntü veya bir String ise, ne anlama geldiğini nasıl anlar?Yalnızca Bir Bağlantı İçin İki Yuva
cevap
Bir çıkış akışı iletilere eklemeniz gereken baytlar içerir. Okuyucu hangi tipteki verileri gönderdiğinizi bilir, çünkü gönderenin gönderdiği mesaj türünü belirtmesi gerekir.
örn. Bir dizge olarak "görüntü" yazarsak, onu takip eden şeyin bir görüntü olduğunu varsayabilirsin.
Peki, java'da hangi nesne tipinin olduğunu nasıl anlarım? – dsiegler19
@ dsiegler19 yazdığınız zaman söylediğiniz türdür. –
Dizeleri veya Görüntüleri iletmediğinizi unutmayın, İleti'u değiştiriyorsunuz. Bir mesaj, onunla ilişkili bir içerik veya mesaj türüne sahip olmalıdır.
Bazı sebeplerden ötürü kodun herhangi bir yerinde bir yere çakıldıkları için çok fazla düşmesine neden oldum. Instanceof anahtar sözcüğünü kullandım. – dsiegler19
Mesajları ileri ve geri göndermek için Java serileştirme kullanıyormuşsunuz gibi geliyor. Bu, bir test projesi için işe yarayacak ve iyi olacaksa da, güçlü olmak istiyorsanız, gerçekten üzerinde kontrol sahibi olduğunuz ayrı bir serileştirme formatı tanımlamanız gerekir, örn. JSON veya XML mesajları. Bu, gelecekteki genişletmelerde yardımcı olacaktır (mesajlara bir mesaj tipi revizyon numarası eklemeyi unutmayın) – dovetalk
- 1. Bir bağlantı noktasından kaç yuva oluşturulabilir?
- 2. HttpClient: her yuva adresi (protokol/ağ adresi/bağlantı noktası) için yalnızca bir kullanıma izin veriliyor
- 3. Bu yuva neden iki kez çağırılıyor?
- 4. İki İç Bağlantı MYSQL
- 5. Bir UITextViewCell içinde bir UITextField yuva nasıl?
- 6. Yuva Termostatı sıcaklığı güncellenmiyor
- 7. Tomcat sunucusunu iki farklı bağlantı noktasında çalıştırma
- 8. Android'deki DefaultHttpClient'teki bağlantı ve yuva zaman aşımları için varsayılan değerler nedir?
- 9. $ routeParams ile iki yönlü bağlantı?
- 10. Errno 111: Bağlantı yalnızca python'da reddedildi IDLE
- 11. PostgreSQL'i yalnızca LOCALHOST veya belirtilen ip + bağlantı noktası için yapılandırın
- 12. Yalnızca şirket yerel bağlantı deposu nasıl kullanılır?
- 13. Yuva okuma ve zaman damgaları
- 14. Yuva rengini bir olay için ayarlama Kendo Zamanlayıcı
- 15. Php Yuva Akışları vs
- 16. Python Yuva: Linux
- 17. iOS'ta küçük (yuva) bir sunucu nasıl yazılır
- 18. Java/Android: Bir yuva üzerinde bir bayt dizisi okuma/yazma
- 19. Yerel bir soketi Boost.ASIO yuva sınıfı
- 20. Markdown Bağlantı bağlantıları iki kez tıklanamaz
- 21. QWizard'daki "sonraki" yuva üzerine nasıl yazabilirim?
- 22. İki WKWebViews yerel depolamayı paylaşır, ancak yalnızca
- 23. iPad/iPhone'da yalnızca bir tane gerektiğinde gerekli iki tıklama gereklidir
- 24. node.js üzerinden iki istemci ile bağlantı kurabiliriz.
- 25. C# 'da bir bağlantı dizesinde iki veritabanına nasıl bağlanır?
- 26. Bu iki bağlantı arasındaki fark nedir?
- 27. Android NDK, iki Statik Kitaplık ve Bağlantı
- 28. Belirli bir bağlantı noktası için İz Yönlendirmesi
- 29. Java, yuva zaman aşımını arttırın
- 30. StackOverFlowError yalnızca iki iç içe düzen ile
Çalışacak, ancak iki bağlantınız olacak ve muhtemelen en iyi fikir değil. Bir String'in ne olduğunu ve bir görüntünün ne olduğunu belirtmek için veri biçiminize bir miktar * meta veri * ekleyebilmeniz gerekir (ve henüz düşünmediğiniz bir şey var). – OrangeDog
Birden çok soket istediğinizi düşünmüyorum. Her şey aynı tüpe gider. İki priz size herhangi bir şey vermez. Unutmayın ki soketler iki yönlü borulardır. – dcow
Yani şu anda bir kod (bir int) ve bir mesaj (bir dizge) göndermek için bir yol var. Ben bununla oynamayı denedim, bu yüzden alıcı son, görüntü gelen bir kod gönderen bir kod göndermek, sonra sadece bir Nesne için mesajını değiştirmek, ancak sadece resmin dosya yolunu göndermek istiyorum. Ayrıca, bir nesnenin bir dize mi, bir dosya mı olduğunu nasıl anlayacağımı bilmiyorum. – dsiegler19