網路五子棋的架構設計(一) 網路通訊層

2021-05-22 06:19:45 字數 654 閱讀 6390

預備辭職考研,接下來幾個月會沒有時間程式設計,想最後寫個五子棋玩玩,於是就有了下面的這篇文章:

首先,人機對戰的演算法我搞不太好,因此決定做網路人人對戰型別的,採用

tcp連線傳遞指令,客戶端收到指令後描繪棋子,為了有較清晰的架構,把網路通訊一部份單獨作為一層。

由於兩人對戰中兩人的地位實際上是平等的,也就是說,無論是建立遊戲的

server

還是加入遊戲的

client

,都應該有傳送指令的方法

send

、連線成功的事件

onconnected

、斷開連線的事件

ondisconnected

、收到指令的事件

onmessagereceived

,基於以上提取出介面

inet

,這樣也方便在介面層統一處理。

網路傳輸方面由於傳輸的效率並不要求太高,因此使用多執行緒進行後台同步監聽的機制。

由於不需要對執行緒進行後台暫停等操作,因此選用執行緒池處理開始多執行緒

client

類的處理和server類似

這樣就完成了乙個簡單的通用

tcp通訊類,允許乙個服務端和乙個客戶端之間互相傳送文字指令,並公開事件允許外界對接收到的指令進行處理。

網路五子棋

最近空限,完成之前未完成的網路五子棋,它是面向tcp協議通訊協議,通訊協議及效果如下 package cn.com.client public class protocol img tcp協議提供了一種可靠的資料傳輸服務,它是一種面向連線的資料傳輸協議。在資料傳輸之前,通訊節點之間必須建立起連線。為...

C語言 實現網路對戰五子棋

碼雲 傳送門 該專案運用udp技術可以實現跨電腦對戰 在linux環境且可以正常上網的情況下開啟終端輸入命令 ifconfig 記錄本機inet位址 cd進入到專案目錄 輸入命令 gcc gobang send.c o send gcc gobang recv.c o recv 首先執行接收端,埠號...

基於QT的網路五子棋遊戲程式的設計與實現

在現在如此發達並且得到廣泛應用的現代網路技術下,集趣味性,娛樂性,益智性,並且包含網路功能的休閒類遊戲以及成為了人們選擇網路休閒遊戲的要求。系統採用當今廣為流行的五子棋遊戲為模版,利用c 的第三方gui設計工具qt為程式設計介面,並結合軟體工程的思想開發一款基於網路的五子棋遊戲對弈軟體。本軟體採用p...