我是新來扭曲,我遇到麻煩,我應該如何組織我的代碼。客戶端連接到TCP(SSL)控制通道,然後根據通過TCP提供的加密設置,嘗試連接到UDP上的相同IP:端口以用於低延遲數據通道。如果不能,TCP控制通道將用於數據。我想寫一個可重用的客戶端,以便人們可以使用諸如dataReceived,controlMessageXReceived,sendControlMessageX,sendDataMessage等函數來覆蓋具有UDP通道是否正在使用或不被抽象到我的代碼中的類。如何組織使用扭曲的多連接客戶端?
我目前有一個可以理解TCP控制通道的協議;出於測試的目的,我已經重寫了ConnectionMade()以發送設置消息並確認一切正常(它可以理解服務器,反之亦然),但我不知道如何將它整合到更廣泛的上下文中。
(對於好奇,這是Mumble客戶 - 這個協議規範here,我試圖更新的umaintainable(多線程)的代碼this可怕的一堆弄成現代)