通過幾天的努力終於在UDKGame環境下集成了本身的工程,接下來爲了擴展咱們的網絡端必須進行native代碼的書寫。在這以前有如下兩條道路能夠摸索:服務器
1.冷欺花前輩基於winsocket完成了一個UDK廣播,讓我有了一個好的開始。網絡
2.UnrealScript基於FSocket實現了一個TCPLink類供咱們直接使用,然而這個類多用於處理HTTP請求,因爲效率的問題。咱們最終仍是決定基於FSocket的方式進行擴展實現本身的網絡數據訪問。socket
在這以前有幾點關於編寫native code的幾點須要熟悉。而後在下一章開始基於FSocket對網絡端的請求連接進行實現。包括:函數
- 根據咱們定製的協議解析。code
- 發送字段看服務器端的驗收。blog
第一種方法,自動生成頭文件的UC代碼。這種代碼在編寫好以後會自動生成指定目錄下的頭文件,而後咱們只須要實現必要的函數便可。ip
class ArtSocketObject extends Object Native(Socket);
上面的代碼將會自動生成ArtGameSocketClasses.h的頭文件,對其進行了宏定義。咱們只須要在一個類中對其進行實現便可。string
注意的是在實現這個類的頭部應該包含,ArtGameSocketClasses.h以及進行宏定義聲明。io
IMPLEMENT_CLASS(UArtSocketObject);function
若是這裏面有native函數,將會這麼作
native string function NativeTest();
在實現類中
FString UArtSocketObject::NativeTest() { ... }