局域网五子棋网络课程设计报告材料

上传人:hs****ma 文档编号:465766139 上传时间:2022-09-16 格式:DOC 页数:15 大小:92.50KB
返回 下载 相关 举报
局域网五子棋网络课程设计报告材料_第1页
第1页 / 共15页
局域网五子棋网络课程设计报告材料_第2页
第2页 / 共15页
局域网五子棋网络课程设计报告材料_第3页
第3页 / 共15页
局域网五子棋网络课程设计报告材料_第4页
第4页 / 共15页
局域网五子棋网络课程设计报告材料_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《局域网五子棋网络课程设计报告材料》由会员分享,可在线阅读,更多相关《局域网五子棋网络课程设计报告材料(15页珍藏版)》请在金锄头文库上搜索。

1、word辽 宁 科 技 大 学课程设计说明书设计题目:局域网五子棋设计学院、系:计算机科学与工程学院专业班级:计试点2005学生某某:王 红 辉指导教师:周 传 胜成绩:2009 年3月5日目录一 题目1二 设计的任务、目的和作用1三 课程设计的内容1四 开发环境与实现所用语言1五 实现要点1A 数据通信指令协议与各指令的处理内容1B 套接字使用方法556 C棋盘与棋子画法6 D棋盘存储结构与胜负判定算法8 E程序实现中定义的其他重要数据与意义、定义的函数或过程首部与意义12六 设计体会13一、题目 计算机网络课程设计局域网五子棋的实现二、设计的任务、目的和作用计算机网络课程设计是计算机网络原

2、理课程之后的时间加强环节,通过本设计的训练使学生加深对网络协议的理解,并实现制定通信规如此,同时通过实践,进一步掌握套接字编程方法,为大型网络编程打下坚实根底。三、课程设计的内容五子棋的局域网对战四、开发环境与实现所用语言语言: C+五、实现要点A、数据通信指令协议与各指令的处理内容客户与服务器采用TCP连接指令与处理:#define LOGINSERVER login /连接服务器#define LEAVESERVER leave /离开服务器#define REPEATENAME rpeat /名字重复#define SERVERCLOSEsvrcl /服务器关闭#define GETCL

3、IENTIP getip /获取客户的IP#define SENDCLIENTIP sndip /发送客户的IP#define IPINFOMATION #IP:# /发送IP的信息#define MSGTYPELENGTH 5 /关键字长度enum LOGINSVR, GCLIENTIP, SCLIENTIP, LEAVESVR ;/进入服务器,取客户的IP,发送客户的IP,离开服务器客户发送数据给服务器void CGobangGameClientDlg:SendMessageToServer(unsigned int nMsgType /* = LOGINSVR */, CString s

4、trMsg /* = */)CString strSendMsg;switch( nMsgType )case LOGINSVR:strSendMsg = LOGINSERVER + strMsg;break;case GCLIENTIP:strSendMsg = GETCLIENTIP + strMsg;break;case SCLIENTIP:strSendMsg = SENDCLIENTIP + strMsg;break;case LEAVESVR:strSendMsg = LEAVESERVER + strMsg;break;default:break;m_pClientSocket-

5、Send( strSendMsg, strSendMsg.GetLength();服务器端处理收到的数据void CGobangGameDlg:ProcessPendingRead(CClientSocket *pClientSocket)/定义缓冲区char bufferBUFFER_SIZE;/接收数据int nReceived = pClientSocket-Receive(buffer,BUFFER_SIZE,0);buffernReceived = 0;CString strReceived;strReceived.Format(%s, buffer);CString strMsgT

6、ype = strReceived.Left( MSGTYPELENGTH );CString strMsgInfo = strReceived.Right( strReceived.GetLength() - MSGTYPELENGTH ) ;if( strMsgType = LOGINSERVER )if( isRepeatName( strMsgInfo ) = FALSE )ClientLoginServer( strMsgInfo , pClientSocket);UpdateClients(buffer, nReceived, pClientSocket);elsestrRecei

7、ved = REPEATENAME;pClientSocket-Send(strReceived, strReceived.GetLength();else if( strMsgType = GETCLIENTIP)GetClientIP( strMsgInfo, pClientSocket );else if( strMsgType = SENDCLIENTIP)SendClientIP( strMsgInfo, pClientSocket );else if( strMsgType = LEAVESERVER )ClientLeaveServer( strMsgInfo, pClientS

8、ocket);UpdateClients(buffer, nReceived, pClientSocket);/从服务器收到数据的处理void CGobangGameClientDlg:ReceiveMessageFromServer()char bufferBUFFER_SIZE;unsigned int nReceive = m_pClientSocket-Receive(buffer, BUFFER_SIZE);buffernReceive = 0;CString strReceived;strReceived.Format(%s, buffer);CString strMsgType

9、= strReceived.Left( MSGTYPELENGTH );CString strMsgInfo = strReceived.Right( strReceived.GetLength() - MSGTYPELENGTH ) ;if( strMsgType = LOGINSERVER )ClientLoginServer( strMsgInfo );else if( strMsgType = GETCLIENTIP)GetClientIP( strMsgInfo );else if( strMsgType = SENDCLIENTIP)SendClientIP( strMsgInfo

10、 );else if( strMsgType = LEAVESERVER )ClientLeaveServer( strMsgInfo );else if( strMsgType = REPEATNAME )RepeatName();客户与客户采用UDP形式进展聊天,下棋客户与客户采用TCP连接指令与处理:#define SENDCHESSINFO chess / 发送下棋的棋子信息#define SENDCHATINFO chati /发送聊天信息#define SENDCHESSLOSS closs /发送给别人我赢得了游戏#define SENDLEAVE leave /发送离开游戏的消

11、息#define CRYCRAVEN ccven /发送认输申请#define REPENTANCE reptc /发送悔棋申请#define AGREECRYCRAVEN acven /发送对方回复的认输申请#define AGRESSREPENTANCE arept /发送对方回复的悔棋申请#define MSGTYPELENGTH 5 /关键字长度enum CHESSINFO, CHATINFO, CHESSLOSS, LEAVECHESS, CRYCVN, REPTC, ACRYCVN, AREPTC ;/棋子信息, 聊天信息, 别人赢得游戏, 离开游戏, 认输申请, 悔棋申请, 回复

12、的认输申请, 回复的悔棋申请.发送信息给对手void CDlgGobang:SendMessageToOther(unsigned int nMsgType, CString strMsgInfo)switch( nMsgType )case CHATINFO:strMsgInfo = SENDCHATINFO + strMsgInfo;break;case CHESSINFO:strMsgInfo = SENDCHESSINFO + strMsgInfo;break;case CHESSLOSS:strMsgInfo = SENDCHESSLOSS + strMsgInfo;break;ca

13、se LEAVECHESS:strMsgInfo = SENDLEAVE + strMsgInfo;break;case CRYCVN:strMsgInfo = CRYCRAVEN + strMsgInfo;break;case REPTC:strMsgInfo = REPENTANCE + strMsgInfo;break;case ACRYCVN:strMsgInfo = AGREECRYCRAVEN + strMsgInfo;break;case AREPTC:strMsgInfo = AGRESSREPENTANCE + strMsgInfo;break;default:break;m_pChatSocket-SendTo( strMsgInfo, strMsgInfo.GetLength(), m_nOtherPort, m_strOtherIPAddress );分析对方发过来的信息void CDlgGobang:ProcessPendingRead(CChatSocket* pChatSocket)/定义缓冲区char bufferBUFFER_SIZE;/接收数据int nRecei

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号