mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-10 02:19:46 +08:00
3.8 KiB
3.8 KiB
五子棋网络对战使用说明
功能概述
本项目支持网络对战功能,允许两台设备通过网络进行实时五子棋对战,支持服务器/客户端连接。
编译方法
gcc -std=c17 -o gobang.exe *.c -lws2_32
注意:
- Windows系统需要添加
-lws2_32链接库 - Linux系统不需要此链接库参数
使用方法
1. 启动游戏
运行编译后的程序
.\gobang.exe
2. 选择网络对战模式
在主菜单中选择 3. 网络对战
3. 选择连接模式
模式1:创建房间(作为服务器)
- 选择
1. 创建房间(作为服务器) - 输入监听端口(默认8888,建议使用1024-65535范围内的端口)
- 程序会显示本机IP地址,将此IP告知对方
- 等待对方连接
模式2:加入房间(连接到服务器)
- 选择
2. 加入房间(连接到服务器) - 输入服务器IP地址
- 输入服务器的端口号(与服务器设置的端口一致)
- 连接到服务器
4. 开始游戏
- 连接成功后游戏自动开始
- 服务器为玩家1(黑棋),客户端为玩家2(白棋)
- 玩家1先手
游戏操作
基本操作
- 落子:输入坐标
行号 列号,例如:7 7 - 认输:输入
S或s - 悔棋:输入
R或r(需要对方同意)
网络功能
- 自动同步:落子操作会自动同步给对方
- 连接检测:自动检测网络连接状态
- 延时显示:支持回合延时显示,避免过快操作
- 悔棋协商:悔棋需要对方同意才能生效
网络配置
端口设置
- 默认端口:8888
- 可设端口范围:1024-65535
- 确保防火墙允许选定端口的通信
IP地址
- 局域网:使用内网IP地址,例如:192.168.1.100
- 广域网:使用公网IP地址,可能需要路由器端口转发
防火墙设置
如果连接失败,请检查防火墙设置:
Windows防火墙
- 打开Windows安全中心
- 选择"防火墙和网络保护"
- 选择"允许应用通过防火墙"
- 添加gobang.exe到允许列表
路由器设置(用于广域网对战)
如果通过互联网对战,可能需要:
- 在路由器中设置端口转发
- 将选定端口转发到服务器内网IP
- 将路由器的公网IP告知对方
故障排除
常见问题
-
连接失败
- 检查IP地址和端口是否正确
- 确认防火墙设置
- 确保两台设备网络连通
-
游戏中断
- 检查网络连接稳定性
- 重新启动游戏重新连接
-
端口被占用
- 更换其他端口号
- 关闭占用端口的其他程序
网络测试
可以使用以下命令测试网络连通性:
# 测试网络连通
ping <对方IP地址>
# 测试端口(需要telnet客户端)
telnet <对方IP地址> <端口号>
技术细节
- 协议:TCP/IP
- 消息格式:自定义二进制协议
- 支持功能:
- 棋盘同步
- 悔棋处理
- 认输协商
- 连接检测
- 延时控制
安全注意事项
- 局域网使用:建议安全的家庭或办公环境
- 广域网使用:
- 不要使用默认端口8888
- 游戏结束后及时关闭程序
- 注意保护个人网络信息
更新日志
v7.0 (2025-07-20)
- 网络配置参数统一管理 - 所有网络相关配置集中到config.h
- 消息类型定义优化 - 统一消息协议宏定义
- 代码架构重构 - 提升网络模块的可维护性
- 配置文件支持 - 网络参数可通过配置文件调整
v6.1 (2025-07-10)
- 完善网络对战功能
- 支持TCP/IP通信
- 实现棋盘同步
- 连接状态和协议优化
- 支持多种操作
- 添加延时控制等游戏功能(延时显示、认输、悔棋等)
开发者: 刘航宇
联系邮箱: 3364451258@qq.com
项目主页: https://github.com/LHY0125/Gobang-Game