2013-08-17 15 views

cevap

8

Websocket, geleneksel bir TCP soketinin üstünde oldukça ince bir soyutlama katmanıdır. İlk el sıkışmasından sonra fark azdır. Öyleyse, soru şu: Uzaktaki eş tarafından bir veri yığınının alındığını nasıl anlarım? Kısa cevap: sadece akran, bunu uygulama düzeyinde protokol aracılığıyla açıkça kabul ederse. Uzak istemci, göndereceğiniz her veri paketi için TCP ACK paketleri gönderir, ancak bu gerçek iyi nedenlerden dolayı uygulamadan gizlenmiştir. ACK paketini almak yalnızca uzak TCP yığınının ele alındığı anlamına gelir, ancak istemci uygulamasının bunu nasıl (ve eğer) işlemiş olduğu hakkında hiçbir şey söylemez.

Sohbet protokolünüze özel bir "alındı ​​al" mesaj tipi ekleyin. Tüm giden iletilerinizde tekdüze artan bir sıra numarası ekleyin ve istemcinin ne kadar veri işlediğini tam olarak bilmek için ACK iletisindeki alınan iletinin SN'sini ekleyin.

İlgili konular