2016-04-03 16 views
1

Bir Web soket sunucusu yapıyorum, ancak, test amacıyla, Chrome veya Firefox veya başka bir tarayıcı mesajım parçalanmış olarak göndermeyi istiyorum, böylece uygulamamı test edebilirim.İstemciden web çerçevesi çerçeve fragmantasyonu nasıl tetiklenir?

100K'lık metin verilerini göndermeyi denedim ve FIN bayrağı her zaman 1'e ayarlı ve opcode TEXT'dir.

Parçalanmış kareleri manuel olarak tetiklemenin bir yolu var mı? Orada daha fazla esneklik olan herhangi bir müşteri var mı?

+0

Bir tarayıcıdan davranışı tetiklemeye çalışmak yerine parçalanma benzetimi yapmak için bir tür alay çerçevesini denediniz mi? (Ayrıca, paketin parçalanmasının, sunucu ve istemci arasında yer alan çeşitli yönlendirici/anahtarlı donanımlarda gerçekleşen bir şey olacağını düşünüyorum, çünkü TCP yığınında farklı bir katmanda olduğu için uygulama katmanından (http Senin durumunda))) –

+0

Teşekkürler. Şu anda aynı mesaj için çoklu recv() işlemlerini yapabiliyorum, bu yüzden bu anlamda kapandığımı düşünüyorum. –

cevap

1

Javascript WebSocket API'si bu seçeneği göstermez. Bazı modern tarayıcıların (A Chromium türevi) öngörülemeyen bir şekilde parçalanmış WebSocket çerçevelerini gönderirken aynı sıkıntıya düştüm.

Test için önceden hesaplanmış parçalanmış WebSocket çerçeveleri göndererek kendi TCP istemcimi aldım. İdeal değil, ama işi bitirdi ve AFAIK henüz bir alternatif yok.

+0

Teşekkürler, kendi müşterimi yuvarlamaya bakacağım. –