network-protocols

    1熱度

    1回答

    我正在和一位同事討論Websocket開銷,我們都不確定Websocket是如何檢測客戶端連接的狀態的。 是否有定期發送到客戶端/服務器的「狀態」數據包? 與低層API中的ping或pong有什麼關係? frames怎麼樣? Websocket如何檢測到它在客戶端斷開連接?服務器? 我很驚訝,我找不到這個SO回答,但可能是我的錯誤。我發現this answer解決了可擴展性問題,但這不是我在這裏問

    1熱度

    1回答

    我正在設計一個應用程序,通過各種連接類型/傳輸機制與設備進行通信。例如,USB虛擬COM,串行端口和TCP連接。在每種情況下,我將使用通過底層傳輸傳遞的定製/設備特定應用協議(例如發送命令,接收數據等)。對於目前提到的情況,我似乎很清楚「應用協議」是專有的命令/響應,TCP連接(或串行端口或「不管神奇傳輸字節」)是傳輸協議。 但是,談論中間協議的最好方法是什麼,例如,在將上述專有應用層協議封裝在另

    -2熱度

    1回答

    假設我有2個AS(AS1,AS2)。拓撲看起來像這樣。 RA1.1 --- RA2.1 --- RA2.2其中RA1.1是AS1中的路由器,其他2個路由器屬於AS2。在RA1.1和RA2.1之間有一個eBGP會話,在RA2.1和RA2.2之間有一個IBGP會話。 如何在RA1.1中應用過濾器,這樣我只允許在RA2.1中直接生成流量,但不允許RA2.2生成流量?

    13熱度

    2回答

    HTTP/2服務器和昨天啓用我注意到,在iPhone(IOS 10.2)不與錯誤加載某些資源加載一些資源。當我將Iphone連接到Mac時,在控制檯中沒有錯誤,但是隻是由於某些請求導致了該錯誤的迷惑性。有趣的事情可能是這樣的事實,即未加載的資源是真實域的子域(CNAME是正確的)。網站位於https上。 服務器是Windows服務器2016年 編輯: 我們解決了這個問題,子域,但還是有來自同一個域

    1熱度

    1回答

    我想實現和單元測試(不一定是TDD)與某個應用協議中使用的TCP服務器進行通信的客戶端應用程序。 我在here (1)和here (2)這樣的地方見過,協議代碼應該最好從網絡代碼中分離出來,這樣我可以單獨對每一個進行單元測試。 但是我無法理解我應該如何設計和實現這些部分。 第一個鏈接使用方法HelloMessage()和HowdyMessage()討論MyProtocolHandler類。這是否意

    -1熱度

    1回答

    UDP有一個很好的特性 - 它是無連接的。但它有許多不好的特性 - 數據包可能會丟失,到達多次,沒有數據包序列 - 數據包2可能比1快。如何保持良好並消除不良?有沒有什麼好的實現可以在udp之上提供可靠的傳輸協議,這樣我們仍然可以無連接但沒有提到問題。可以用它做什麼的一個例子是mosh。

    0熱度

    1回答

    如何構建&發送無線局域網喚醒的魔法數據包? The Wikipedia article關於這個問題只描述了標準網絡喚醒魔術包。但是同一篇文章描述了需要使用補充標準來喚醒無線主機。 ...如果被喚醒的電腦通過Wi-Fi,一個名爲無線局域網(WOWLAN)鋪設必須使用補充標準通信.... 不幸的是,我可以」似乎找不到關於如何實現Wake-on-LAN喚醒WiFi節點的權威來源/方法。

    1熱度

    3回答

    假設,當我們通過HTTP請求一個資源,我們得到的響應如下圖所示: GET/HTTP/1.1 Host: www.google.co.in HTTP/1.1 200 OK Date: Thu, 20 Apr 2017 10:03:16 GMT ... 但是,當一個瀏覽器可以同時請求的資源,怎麼能確定哪個請求得到它的響應?

    2熱度

    2回答

    我想創建一個使用scapy的新圖層,我創建了一個新圖層,但是當我將它發送給另一臺計算機時,它已經丟失,wireshark也無法識別它。 我該如何解決這個問題? class OMER(Packet): name = "OMER" fields_desc = [StrLenField("Omer", "", None)]

    0熱度

    1回答

    我不得不將接口我的代碼與來自我無法控制的應用程序的一些二進制協議。到目前爲止,我已經從數據寫入手工解析,如: char *data = ... MovementPacket pkt; pkt.x = data[0] | data[1] << 8; pkt.y = data[2] | data[3] << 8; 很明顯,這個過程很容易出錯和繁瑣。我記得在Java中這樣做: pkt.x =