2016-04-04 23 views
0

Projem iletişim için WebSocket protokolünü kullanıyor. Sunucu tarafı C uygulanır ve istemci tarafında, HTML ve JavaScript kodunu çalıştırmak için basit bir tarayıcı oluşturmak için Qt 4.8.1 kullanın.Websocket istemcisi, el sıkışmalarından hemen sonra [FIN, ACK] gönder

Qt framework ile ilgili bir sorunum var. El sıkışmadan sonra, istemci boyutu kapanış oturumunu in this picture olarak bildirmek için hemen [FIN, ACK] sunucusuna gönderir.

Bu sorunun nedenini bilmiyorum. Bunun bir Qt framework hatası olduğunu düşünüyorum, çünkü istemciyi bir Firefox tarayıcısında çalıştırdığımda, bu gerçekleşmez. Bunun neden olduğuna dair bir fikri olan var mı?

+0

Asgari bir test vakası ekleyene kadar sorunuz konu dışıdır. Ayrıca, sunucu tarafınızın ince bir şekilde kırılması ve websocket özelliklerinin tam olarak uygulanmadığı da bağımsız olarak mümkündür. 'QWebSocket' yalnızca protokol 13'ü desteklediğini unutmayın. Sunucunuz yoksa, bağlantıyı gördüğünüz gibi kapatır. –

cevap

0

Firefox sürüm Belki sunucusunun doğru RFC6455 protokol standartlarını uygulamaya https://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00

(protokol sürümü 13), QT 4.8.1 WebSocket hybi-00 protokol standartlarını kullanan WebSocket RFC6455 protokol standartlarını (hiçbir protokol versiyonu) kullandığı ama hybi-00 protokol standartları ile yanlış. Lütfen isteğinizi ve yanıt içeriğinizi (/ key3/ve challenge data) kaydederek hata ayıklayın. Sunucunuz tarafından oluşturulan sorgulama verileri istemcideki (QT) ile eşleşmezse, istemci soketi kapatmak için hemen [FIN, ACK] gönderir.

+0

Teşekkürler kardeşim! Şimdi iyi çalışıyor! –

İlgili konular