資源簡介
不同網(wǎng)段間的聯(lián)機五子棋游戲,含一個服務器端文件和一個客戶端文件,是最簡單的網(wǎng)絡編程實例(入門級應用),喜歡網(wǎng)絡編程的請進。

代碼片段和文件信息
/**************************************************************************
*??@file ?:?五子棋客戶端main文件
*??@version??:?1.0
*??@author???:?Qiyue
*??@date?????:?2016.5.22
*??@brief????:?收發(fā)客戶端信息
**************************************************************************/
#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??五子棋\
- 上一篇:傅里葉級數(shù)
- 下一篇:webwatch官方版
評論
共有 條評論