2

我開始使用Unreal Engine 4。我來自Libgdx,我熟悉在我的遊戲中使用WebSockets客戶端,在服務器上使用'ws'使用NodeJS。虛幻引擎4上的Websockets?

如何過,我無法找到有關Websockets和虛幻引擎4

我知道,因爲它是編程C++,你可以添加外部靜態庫的虛幻項目。

我可以使用這個C++ websocket庫嗎?

https://github.com/zaphoyd/websocketpp

將它在Windows,Mac和控制檯運行?

我不是C++和靜態庫的專家。 請幫忙,謝謝!

+0

當您在閱讀github上的自述文件時,您是否注意到它是「便攜式/跨平臺(Posix/Windows,32/64bit,Intel/ARM/PPC)」 – ChiefTwoPencils

+0

所以你認爲它會工作? –

回答

3

您可以在TCP套接字上關注this tutorial

您將需要對代碼進行一些更改,因爲它不會在UE 4.10上運行(本教程最初是從2014年開始的)。

在h文件定義2計時器處理:

FTimerHandle TimerHandle_Connection; 
FTimerHandle TimerHandle_Socket; 

在cpp文件,內部StartTCPReceiver(...)改變線,其中定時器被設置爲:

GetWorldTimerManager().SetTimer(TimerHandle_Connection, this, &AYourClass::TCPConnectionListener, 0.01, true); 

並在定時器設置爲TCPConnectionListener(...)改線:

GetWorldTimerManager().ClearTimer(TimerHandle_Connection);//optional, only if you want to stop listening for new connections 
GetWorldTimerManager().SetTimer(TimerHandle_Socket, this, &AYourClass::TCPSocketListener, 0.01, true); 

(另一種選擇是將線程這些功能,而不是讓他們在計時器)

以防萬一,如果你是UE的新手,不要直接在IDE上添加代碼。轉到內容瀏覽器>添加新>新建C++類。您可以創建一個從Actor繼承的新類,並且當您想要開始監聽連接時,就會生成該Actor。

+0

謝謝,很棒的信息!將看看 –

+0

嗨jmcorallo。我有一個PlayerController類中的TCP偵聽器(如Rama推薦的),並在構造函數中調用Launch。第一:這是正確的做法嗎?第二:當我建立項目時,我的ue4editor崩潰給我這個消息:'訪問衝突 - 代碼c0000005(第一個/第二個機會不可用)',並指向第一個計時器設置的行。你能幫我嗎? – gerric

+0

websocket的使用將限制windows和html5上的目標平臺。是真的嗎? –