WuZiQi_Network-Linux_Epoll_server

所属分类:网络
开发工具:C++
文件大小:0KB
下载次数:0
上传日期:2021-09-09 03:03:43
上 传 者sh-1993
说明:  以Linux下C++网络编程作服务端,Qt C++编写的可联网五子棋
(Networkable Gobang written by Qt C++with C++network programming under Linux as the server)

文件列表:
WuZiQi_Network/ (0, 2021-09-08)
WuZiQi_Network/game.pro (847, 2021-09-08)
WuZiQi_Network/game.pro.user (25145, 2021-09-08)
WuZiQi_Network/internet.cpp (4079, 2021-09-08)
WuZiQi_Network/internet.h (899, 2021-09-08)
WuZiQi_Network/main.cpp (878, 2021-09-08)
WuZiQi_Network/main_menu.cpp (8049, 2021-09-08)
WuZiQi_Network/main_menu.h (1284, 2021-09-08)
WuZiQi_Network/main_menu.ui (15519, 2021-09-08)
WuZiQi_Network/res.qrc (388, 2021-09-08)
WuZiQi_Network/res/ (0, 2021-09-08)
WuZiQi_Network/res/BackGround1.png (116471, 2021-09-08)
WuZiQi_Network/res/BackGround2.png (124382, 2021-09-08)
WuZiQi_Network/res/Title1.png (20789, 2021-09-08)
WuZiQi_Network/res/kuro.png (56864, 2021-09-08)
WuZiQi_Network/res/main_menu.png (410814, 2021-09-08)
WuZiQi_Network/res/opponent_no.png (22290, 2021-09-08)
WuZiQi_Network/res/opponent_ok.png (24216, 2021-09-08)
WuZiQi_Network/res/shiro.png (77497, 2021-09-08)
WuZiQi_Network/ui_main_menu.h (13591, 2021-09-08)
WuZiQi_Network/ui_wuziqi.h (3754, 2021-09-08)
WuZiQi_Network/ui_wuziqi_internet.h (12254, 2021-09-08)
WuZiQi_Network/wuziqi.cpp (6531, 2021-09-08)
WuZiQi_Network/wuziqi.h (1546, 2021-09-08)
WuZiQi_Network/wuziqi.ui (3431, 2021-09-08)
WuZiQi_Network/wuziqi_internet.cpp (17180, 2021-09-08)
WuZiQi_Network/wuziqi_internet.h (2725, 2021-09-08)
WuZiQi_Network/wuziqi_internet.qrc (38, 2021-09-08)
WuZiQi_Network/wuziqi_internet.ui (11866, 2021-09-08)
WuZiQi_Server/ (0, 2021-09-08)
WuZiQi_Server/makefile (55, 2021-09-08)
WuZiQi_Server/server.cpp (11517, 2021-09-08)
game.exe (5523849, 2021-09-08)

# WuZiQi_Network 该项目由可以进行网络对战的五子棋的客户端和服务端组成,使用的语言是C/C++(基本都是C++)。 客户端使用的是Qt,包括功能有本地游戏和网络游戏,网络游戏主要流程为:连接服务器——>刷新战局加入他人的房间/创建房间——>双方准备游戏——>游戏开始 服务端核心是Linux下网路编程,使用的EPOLL模型。 使用方法:如果有Qt环境可以直接使用.exe文件,如果没有则要打开.pro编译。客户端的主界面中左上角的小按钮可以设置IP地址和端口号,默认的IP地址和端口是我在腾讯云上购买的一个服务器,在此服务器上存放了服务端的代码,这种情况下可以跨局域网连接,当然前提是我开着的(官匹地址有变,应为118.31.247.104(同样价格还是阿里云2核2G香啊)),于是直接使用的话现在Linux下make,然后./server开启服务端,在客户端上填写好ip地址和端口点击save,点击网络对战即可。 <五子棋网络对战> 主界面: ![main_menu](https://user-images.githubusercontent.com/73738864/122154307-48b2e800-ce97-11eb-8cf4-1e73d0151bf6.png) 网络对战匹配界面: 1:连接服务器,此时会有三种状态在上面的标签中显示:绿色(连接成功)红色(未连接)蓝色(正在连接)。 2:刷新战局,向服务器请求当前已有的房间,不包括已经有两个人和正在游戏的房间对局。 创建房间,以创建房间按钮左边的文本框内容作为房间标题,创建房间,并将房间信息、ip地址、端口号发送给服务器。 退出网络对战,断开连接,回到主界面,回收internet类的对象。 3:点击刷新战局后,出现的可加入房间,点击join加入。 ![network](https://user-images.githubusercontent.com/73738864/122154774-4309d200-ce98-11eb-8464-e034057e7ba6.png) 游戏准备界面 1:准备和退出游戏,准备与否的状态在棋盘中间显示,未准备则显示please_prepare,准备则为please_wait,当双方都处于准备状态,服务器向双方客户端发送游戏开始信息,客户端接受信息后进入下一阶段。 2:对手信息,头像框为黑色的时候,说明没有对手加入房间,图中状态为有对象处于房间中,并且会给出相应的信息(准备状态、ip地址、服务器分配的套接字)。 3:准备状态 ![game_prepare](https://user-images.githubusercontent.com/73738864/122155572-d263b500-ce99-11eb-9198-a1b8dbe02a76.png) 先后手 双方准备完毕游戏开始时候的第一个界面,此时任何一方点击先手/后手,对手方都会得到相对应的颜色。 ![who_first](https://user-images.githubusercontent.com/73738864/122157527-916d9f80-ce9d-11eb-9b25-eddffadda012.png) 游戏开始 1:悔棋和认输按钮,使用后向服务器发送相应的玩家请求,服务器接受到玩家请求时候会直接交由另一边的客户端进行处理,此时发送方游戏会进入等待状态。 2:存放玩家的颜色,并且下边的标签会实时更新当前为哪位玩家的回合。 3:棋盘界面 4:聊天界面 ![game](https://user-images.githubusercontent.com/73738864/122157992-6d5e8e00-ce9e-11eb-9c09-6a04815eb47a.png)

近期下载者

相关文件


收藏者