虛幻引擎的便利 ActorComponent UDP 包裝器。
對於您的用例來說,這可能不是最明智的包裝器,但旨在與具有類似工作流程的 https://github.com/getnamo/SocketIOClient-Unreal 共存。
將內建 Unreal udp 功能包裝為具有發送和接收功能的參與者元件 ( UDPComponent )。透過 c++ FUDPNative包裝器工作,如果需要,可以將其包含在自訂非參與者組件類別中並重新連結。
已確認使用 node.js dgram(請參閱範例 echo 伺服器要點進行測試)。
不和諧伺服器
選擇一個喜歡的演員。將 UDP 組件新增至該參與者。
選擇新建立的組件並修改任何預設設置
預設情況下,udp actor 元件將在開始播放時自動開啟發送和接收套接字。如果您只想發送,請取消勾選「自動開啟接收」;相反,如果您不想發送,請取消選取自動開啟發送。
另外,如果您想在自己的時間連接/收聽,請取消選取其中一個並透過例如按鍵事件手動連接
接收 IP 0.0.0.0 將偵聽指定連接埠上的所有連線。
一旦您的發送套接字打開(更準確地準備發送套接字,因為您不會像 TCP 那樣在 UDP 中獲得回調),請使用 emmit 發送一些數據,由 socket.io 插件提供的 utf8 轉換。注意:如果您忘記開啟套接字,emit 將在預設設定下自動開啟並發出。
如果發出已處理,則傳回 true。注意:udp 不可靠,因此這不是另一端收到資料的返回,對於可靠的連接,請考慮 TCP。
開啟接收套接字後,您將在OnReceivedBytes
事件上接收數據
您可以透過 socket.io 將其轉換為方便的字串或結構(可選,並且要求您的伺服器將資料作為 JSON 字串發送)。
從 v0.9.5 開始,當您開啟傳送套接字時,它將產生一個綁定的傳送端口,您可以使用該連接埠偵聽接收端的 udp 事件。由於預期行為,這應該有助於 NAT 穿透。
要使用此功能,可以使用「應該打開接收到綁定發送連接埠」 ,這將導致任何開啟的接收自動綁定到您的發送 IP 和發送綁定連接埠。
或者,如果您想手動執行此操作,您可以取消選取「應自動開啟接收」 ,然後使用自己的設定打開,例如使用綁定連接埠傳送套接字開啟事件。
每個版本都包含 socket.io 用戶端插件,該插件旨在用於可靠的控制,然後可以使用此 udp 插件透過管道傳輸網路的即時/最新資料元件。考慮為資料添加時間戳,以便您知道要丟棄/忽略哪些資料包。
開箱即用。
如果您將其用作專案插件,則需要將僅藍圖專案轉換為混合專案(bp 和 C++)。請按照以下說明執行此操作:https://allarsblog.com/2015/11/04/converting-bp-project-to-cpp/
例如,使用「檔案」選單選項透過新增 C++ 檔案將專案轉換為混合專案。
麻省理工學院許可。
很大程度受到 https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another 的啟發。