SORU
15 EKİM 2009, PERŞEMBE


Bir outputstream için bir giriş akışı bağlanma

Bazı benzer gördüm, ama-çok-ne-ben-gerek yok konuları.

Temelde, bir istemci giriş, Bir istemci ve ileri al, başka bir istemci için istemci B. byte için bayt olan bir server var

Olası istemci B. çıktı benim akışı ile Bir istemci benim inputstream bağlanmak istiyorum? Bunu yapmak için yolları nelerdir?

Ayrıca, bu istemciler tampon yapmayacak kadar hassas biraz zaman olan birbirimize mesajlar gönderiyor. Demek 500 tampon istemiyorum ve bir istemci 499 bayt gönderir ve sonra benim server arabellek doldurmak için son bayt alınan alamadım çünkü nakliye için 500 bayt tutar.

Şu an için, her bir mesajın uzunluğu bulmak, uzunluğu bayt okuma, iletme onları sonra ayrıştırma duyuyorum. Bu çok yavaş olur, çünkü bir bayt okuma ve bir bayt defalarca yönlendirme daha iyi olurdu (ve test) düşündüm. Ben de gördüm tampon kullan ya da bir zamanlayıcı nedeni de belirttiğim benim son paragraf — istemiyorum mesaj bekleyen çok uzun zaman geçecek çünkü sadece tampon değil tam.

Bunu yapmak için iyi bir yolu nedir?

CEVAP
28 ŞUBAT 2012, Salı


Nasıl kullanma hakkında

void feedInputToOutput(InputStream in, OutputStream out) {
   IOUtils.copy(in, out);
}

ve bu işi?

jakarta apache commons dan büyük olasılıkla zaten sınıf içinde kavanoz zaten bu yüzden projelerin büyük miktarda tarafından kullanılır zaten hangi G/Ç kitaplığı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • NextGenWindows

    NextGenWindo

    8 Kasım 2011
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006