局域网五子棋网络课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
局域网五子棋网络课
程设计报告
Revised on November 25, 2020
辽宁科技大学
课程设计说明书
设计题目:局域网五子棋设计
学院、系:计算机科学与工程学院
专业班级:计试点2005
学生姓名:王红辉
指导教师:周传胜
成绩:
2009年3月5日
目录
一题目――――――――――――――――――――――――――――――1 二设计的任务、目的和作用―――――――――――――――――――――1 三课程设计的内容―――――――――――――――――――――――――1 四开发环境及实现所用语言―――――――――――――――――――――1 五实现要点――――――――――――――――――――――――――――1
A 数据通信指令(协议)及各指令的处理内容―――――――――――1
B 套接字使用方法―――――――――――――――――――――――5
1.服务器端套接字的实现―――――――――――――――――――5
2.客户端套接字的实现――――――――――――――――――――6 C棋盘及棋子画法―――――――――――――――――――――――6 D棋盘存储结构及胜负判定算法―――――――――――――――――8 E程序实现中定义的其他重要数据及意义、定义的函数或过程首部及意义――――――――――――――――――――――――――――――12 六设计体会―――――――――――――――――――――――――――-13
一、题目
计算机网络课程设计―――局域网五子棋的实现
二、设计的任务、目的和作用
计算机网络课程设计是计算机网络原理课程之后的时间加强环节,通过本设计的训练使学生加深对网络协议的理解,并实现制定通信规则,同时通过实践,进一步掌握套接字编程方法,为大型网络编程打下坚实基础。
三、课程设计的内容
五子棋的局域网对战
四、开发环境及实现所用语言
开发环境:Microsoft Visual C++
语言: C++
五、实现要点
A、数据通信指令(协议)及各指令的处理内容
客户与服务器采用TCP连接指令及处理:
#define LOGINSERVER "login" 发送信息给对手
void CDlgGobang::SendMessageToOther(unsigned int nMsgType, CString strMsgInfo)
{
switch( nMsgType )
{
case CHATINFO:strMsgInfo = SENDCHA TINFO + strMsgInfo;break;
case CHESSINFO:strMsgInfo = SENDCHESSINFO + strMsgInfo;break;
case CHESSLOSS:strMsgInfo = SENDCHESSLOSS + strMsgInfo;break;
case LEA VECHESS:strMsgInfo = SENDLEA VE + strMsgInfo;break;
case CRYCVN:strMsgInfo = CRYCRA VEN + strMsgInfo;break;
case REPTC:strMsgInfo = REPENTANCE + strMsgInfo;break;
case ACRYCVN:strMsgInfo = AGREECRYCRA VEN + strMsgInfo;break;
case AREPTC:strMsgInfo = AGRESSREPENTANCE + strMsgInfo;break;
default:break;
}
m_pChatSocket->SendTo( strMsgInfo, (), m_nOtherPort, m_strOtherIPAddress );
}
分析对方发过来的信息
void CDlgGobang::ProcessPendingRead(CChatSocket* pChatSocket)
{
务器端套接字的实现
1.创建socket
2.绑定
3.监听
4.接受连接
5.发送和接受数据
6.关闭
(2)客户端套接字的实现
1.创建socket
2.连接到服务器
3. 发送和接受数据
4. 断开连接
UDP连接的套接字的使用
1.创建socket
2.绑定
3.发送和接受数据
4.关闭
B、棋盘和棋子的实现
2009/3/2则不发送
CString GetMyIP();程序用CPtrList m_listGobangGameChessInfo来保存对弈双方下棋每一步的信息,以便进行悔棋使用,程序可以一次悔多步棋。客户离开以后通知服务器已经来,并删除对应的套接字,并通知所有其他的在线的用户更新用户列表。