網路遊戲探索(ing

2021-10-08 19:14:32 字數 1977 閱讀 7911

即時性較弱(基於tcp):多人大廳,聊天室

及時性強(基於udp):房間類,多人格鬥

unity(urp + xlua + vmui)

網路層使用udp,客戶端使用xlua整合的luasocket,服務端使用c++

使用udp+幀同步,保證傳輸效率和準確性

#include #include #include #include #include#include using namespace std;

#pragma comment(lib,"ws2_32.lib")

#define bufsize 1024

#define usernum 2 //玩家數量

int main()

int key = 0;

//2 進入迴圈接收玩家資訊 與傳送資訊

printf("伺服器已啟動udp:\n監聽中...\n");

while (true)

for (int i = 0; i < usernum; i++)}}

wsacleanup();

}

-- assets\luascripts\framewrok\net\networkmanger.lua

--------------------------------------------

-- @協議 使用udp

--1function socketinit()

_g["g_sockettcp"] = require("socket.core").udp()

_g["g_sockettcp"]:settimeout(0)

socketsend("20180625")

endfunction socketclose()

_g["g_sockettcp"]:close()

end

function socketsend(sendstr)

print("[c->s]:".. sendstr)

local sendstr = _g["g_sockettcp"]:sendto(sendstr, "127.0.0.1", 6000)

end

function socketreceive(callfun)

if nil == _g["g_sockettcp"] then return end

local response, receive_status = _g["g_sockettcp"]:receive()

if receive_status ~= "closed" then

if response then

print("[s->c]:".. response)

callfun(response)

end

else

print("service closed!")

end

end

-- assets\luascripts\framewrok\functest.lua

local test = {}

---- 網路模組測試 ----

print("網路模組測試------------->socket")

require("framewrok.net.networkmanger")

socketinit()

socketsend("player1")

test.update = function ()

socketreceive(function (command_str)

-- print("socketreceive command_str------------>" .. command_str)

end)

end-- socketclose()

---- end 網路模組測試 ----

return test

網路遊戲架構

1 一種架構是peer to peer 對等通訊結構,如下圖所示,即在多個玩家參與的遊戲中,各玩家之間採用peer to peer的直接通訊方式。在網路通訊服務的形式上,一般採用浮動伺服器的形式,即其中乙個玩家的機器既是客戶端,又扮演伺服器的角色,一般由建立遊戲局的玩家擔任伺服器 主機 很多對戰型的...

網路遊戲 《紛爭》

紛爭ol 原圖 紛爭ol 人物設定 網路 具有遊戲廠商所不具備的廣泛而忠實的受眾 消費群體。在現行體制下,還具備無與倫比的公信力,這都是遊戲廠商所追求且無法獲得的資源。而遊戲 產業強勁的發展勢頭和巨大的發展潛力,對於依靠傳統廣告支撐的市場已經相對飽和的網路傳媒業來說,無疑是乙個絕佳的第二戰場。在利益...

網路遊戲架構

1 一種架構是 peer to peer 對等通訊結構 如下圖所示,即在多個玩家參與的遊戲中,各玩家之間採用 peer to peer 的直接通訊方式。在網路通訊服務的形式上,一般採用浮動伺服器的形式,即其中乙個玩家的機器既是客戶端,又扮演伺服器的角色,一般由建立遊戲局的玩家擔任伺服器 主機 很多對...