欢迎来到天天文库
浏览记录
ID:33440166
大小:171.00 KB
页数:21页
时间:2019-02-26
《五子棋_课程设计完整报告_c++版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、课程设计的目的计算机网络课程设计是计算机网络原理课程之后的实践加强环节,通过本设计的训练使学生加深对网络协议的理解,并实践制定通信规则,同时通过实践,进一步掌握套接字编程方法,为大型网络编程打下坚实基础。通过本次课程设计的学习与实践,使学生能达到知识与技能两方面结合的目标。1.熟练掌握网络的基本概念和原理。2.熟练掌握网络编程接口Winsock概念及编程原理3.掌握基于TCP/IP的Internet编程技术。4.掌握软件开发的过程及思想。二.课程设计内容本课程设计的内容是通过对传输层协议TCP和UDP和
2、客户/服务器数据通信的原理及方式的掌握,实现五子棋的局域网对战。(一)TCP连接的套接字的使用(1).服务器端套接字的实现1.创建socket2.绑定3.监听4.接受连接5.发送和接受数据6.关闭(2)客户端套接字的实现1.创建socket2.连接到服务器3.发送和接受数据4.断开连接(二)游戏规则:一、阳线和阴线1、阳线:棋盘上可见的横纵直线。2、阴线:棋盘上无实线连接的隐形斜线。二、连:在棋阳线和阴线的任意一条线上形成的有5个或5个以上的同色棋子不间隔地紧紧相连。五连:在棋盘上形成的5个同色棋子的“连”
3、。三、开发环境及实现所用语言开发环境:MicrosoftVisualC++6.0语言:C++四、程序流程图21五、主要代码1、套接字的使用方法1)服务器端套接字的实现#include"stdafx.h"#include"FiveChess.h"#include"ServerSocket.h"#include"FiveChessView.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif//
4、/////////////////////////////////////////////////////////////////////////////CServerSocketCServerSocket::CServerSocket(){}21CServerSocket::~CServerSocket(){}//Donoteditthefollowinglines,whichareneededbyClassWizard.#if0BEGIN_MESSAGE_MAP(CServerSocket,CSocke
5、t)//{{AFX_MSG_MAP(CServerSocket)//}}AFX_MSG_MAPEND_MESSAGE_MAP()#endif//0///////////////////////////////////////////////////////////////////////////////CServerSocketmemberfunctionsBOOLCServerSocket::Init(UINTport,CFiveChessView*view){m_uPort=port;m_view=vi
6、ew;if(Create(m_uPort)==FALSE)//创建socket{AfxMessageBox("ServerSocketCreateError");returnFALSE;}if(this->Listen()==FALSE)//监听socket{AfxMessageBox("ServerListenError");returnFALSE;}returnTRUE;}voidCServerSocket::OnAccept(intnErrorCode)//接受客户端连接的消息{CSocket::On
7、Accept(nErrorCode);m_view->ProcessPendingAccept();//调用视图类中的接受连接处理函数}2)客户端套接字的实现#include"stdafx.h"#include"FiveChess.h"#include"ClientSocket.h"#include"FiveChessView.h"21#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif////
8、///////////////////////////////////////////////////////////////////////////CClientSocketCClientSocket::CClientSocket(){m_aSessionIn=NULL;m_aSessionOut=NULL;m_sfSocketFile=NULL;m_bInit=false;m_bClose=false;}CC
此文档下载收益归作者所有