• 大小: 10KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-21
  • 语言: 其他
  • 标签: socke  c++  

资源简介

不同网段间的联机五子棋游戏,含一个服务器端文件和一个客户端文件,是最简单的网络编程实例(入门级应用),喜欢网络编程的请进。

资源截图

代码片段和文件信息

/**************************************************************************
*  @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  五子棋\

评论

共有 条评论