第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)服務(wù)器發(fā)送大量響應(yīng)時,WebSocket 客戶端未收到 onmessage 事件

當(dāng)服務(wù)器發(fā)送大量響應(yīng)時,WebSocket 客戶端未收到 onmessage 事件

慕標(biāo)琳琳 2023-06-29 15:34:40
我正在創(chuàng)建基于 TcpClient 和 NetworkStream 與 Javascript 客戶端通信的 .net websocket 服務(wù)器。握手后,客戶端要求服務(wù)器執(zhí)行特定操作,服務(wù)器生成響應(yīng) - 到目前為止,它只是發(fā)送回客戶端的短 JSON 字符串 - 并且工作正常。當(dāng)我需要發(fā)送更大的字符串響應(yīng)(即具有 200k 和更多字節(jié)的 Base64 編碼圖像)后,客戶端停止接收響應(yīng),并且沒有觸發(fā) onmessage 事件。如果我切換并發(fā)送短 json - 它會再次正常工作。當(dāng)我發(fā)送大數(shù)據(jù)時:當(dāng)我發(fā)送簡單數(shù)據(jù)時:客戶端我從所有不相關(guān)的內(nèi)容中剝離了代碼(行為保持不變)try{    ws = new WebSocket("ws://127.0.0.1:8282");    ws.binaryType = "arraybuffer";}catch(err){    debugger;    document.getElementById("message").innerHTML = "Not Connected! " + err;         };ws.onopen = function () {    var jsonRequest = '{"action" : "START_STREAM","timeout"  : 20}';    ws.send("START_STREAM");};在服務(wù)器端,我在生成響應(yīng)后隔離了代碼(帶有 base64 編碼圖像的純字符串,我對其進行了測試并正確解碼): Byte[] frame = CreateFrameFromString(serverResponse); networkStream.Write(frame, 0, frame.Count()); networkStream.Flush(); clientSocket.Close(); clientSocket = ServerListener.AcceptTcpClient(); networkStream = clientSocket.GetStream();初始化服務(wù)器線程的代碼: ServerListener.Start(); clientSocket = ServerListener.AcceptTcpClient(); NetworkStream networkStream = clientSocket.GetStream(); while (true)    {     if (!networkStream.DataAvailable)  ...regular loop/server stuff/handshake etc.方法 CreateFrameFromString 如下。操作碼使用 0-10 的值進行測試,在所有情況下行為都是相同的 - 客戶端沒有捕獲任何響應(yīng)。我是否遺漏了一些東西 - 協(xié)議/緩沖區(qū)大小/等等?在測試時,我注意到使用上述設(shè)置可以發(fā)送最多 4250 個字符的響應(yīng),無需任何修改。一旦我達到這個數(shù)字,反應(yīng)就開始消失。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

經(jīng)過大量故障排除后,事實證明我必須以包的形式發(fā)送數(shù)據(jù),而不是作為一個整體發(fā)送數(shù)據(jù)。我將響應(yīng)分割成塊(50000 個字符),然后將它們一一發(fā)送,而在客戶端,我在 onmessage 事件中拾取這些片段。發(fā)送所有響應(yīng)塊后,我關(guān)閉了會話 - 這在客戶端觸發(fā)了從 Base64 流創(chuàng)建圖像。



查看完整回答
反對 回復(fù) 2023-06-29
  • 1 回答
  • 0 關(guān)注
  • 308 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號