资源简介
不同网段间的联机五子棋游戏,含一个服务器端文件和一个客户端文件,是最简单的网络编程实例(入门级应用),喜欢网络编程的请进。
代码片段和文件信息
/**************************************************************************
* @file : 五子棋客户端main文件
* @version : 1.0
* @author : Qiyue
* @date : 2016.5.22
* @brief : 收发客户端信息
**************************************************************************/
#include
#include
#include
#include
#include
using namespace std;
#pragma comment(lib “ws2_32.lib“)
#define SERVER_IP “127.0.0.1“
#define CONNECT_SUCCEED ‘1‘
#define START ‘2‘
#define CANOPERATION ‘3‘// can to operation
#define GIVE_UP ‘4‘ // give up
#define WIN ‘5‘
#define LOSE ‘6‘
#define CLOSE “7“
#define LOCATION ‘8‘
#define QUIT 102
#define FINISH 100
#define CONNECT_ERROR 101
static int chess_board[15][15] = { 0 };
/********************************************************
* @brief :初始化socket
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int Init(SOCKET &sockSer SOCKADDR_IN &AddrSrv int port);
/********************************************************
* @brief :与服务端连接
* @input :
* @output :
* @return : succceed return 1; else loop
* @author : Qiyue
********************************************************/
int Connect(SOCKET &sockSer SOCKADDR_IN &AddrSrv);
/********************************************************
* @brief :接收消息
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int MessagePassing(SOCKET &sockCli SOCKADDR_IN &AddrSrv);
/********************************************************
* @brief :分析消息并处理
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int MessageAnalysis(char* buffSOCKET &sockCli SOCKADDR_IN &AddrSrv);
/********************************************************
* @brief :
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int InitChessBoard();
/********************************************************
* @brief :刷新棋盘
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int ShowChessBoard();
/********************************************************
* @brief :接收玩家从键盘输入的信息并处理
* @input :
* @output :
* @return :
* @author : Qiyue
********************************************************/
int Operation(SOCKET &sockCli SOCKADDR_IN &AddrSrv);
int main()
{
int port = 6000;
SOCKET sockCli;
SOCKADDR_IN addrSer;
while(!Init(sockCli addrSer port));
while (Connect(sockCliaddrSer))
{
int rel = MessagePassing(sockCli addrSer);
if (rel == QUIT) break;
closesocket(sockCli);
}
closesocket(sockCli);
return 0;
}
int Init(SOCKET &sockCli SOCKADDR_IN &addrSrv int port)
{
WSADATA wsaD
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8192 2016-07-12 21:47 五子棋\Thumbs.db
文件 6129 2016-06-02 23:09 五子棋\clientmain.cpp
文件 9673 2017-01-22 16:21 五子棋\servermain.cpp
目录 0 2017-03-02 22:31 五子棋\
- 上一篇:傅里叶级数
- 下一篇:webwatch官方版
相关资源
- Socket实现qq聊天
- SAMPLE语言词法分析器
- 合肥工业大学计算方法实验报告.zip
- 算法分析作业-钻石金字塔问题
- 基于传感器的温度测量与报警系统设
- Qt俄罗斯方块简洁易懂
- arp(地址解析协议)示范
- 图像中的数字识别源程序
- Socket5服务器源代码
- 命令行下支持矩阵复数自定义函数的
- 读入一个C程序,统计程序中代码、注
- WebSocket测试工具
- 利用多线程和Socket实现猜拳游戏.zip
- 马的Hamilton周游路线问题国际象棋
- 操作系统模拟分页式存储管理中硬件
- QShareMemory.zip
- CoordinateTransformationDlg.rar
- 多尺度的KCF算法代码
- 基于UDP SOCKET 统计丢包率
- Socket 同步通信 系列教程——1
- SIFT算法实现及代码详解
- _Socket_服务端向指定的客户端发送消息
- 中小公司工资管理系统
- 基于Socket网络聊天系统的设计与实现
- TCP转串口socket转SerialPort
- VS2010~2017免注册调用大漠插件
- 外弹道学课程设计代码.zip
- UR机器人Socket通讯包
- 点云关键点提取1
- json.hpp头文件
评论
共有 条评论