基于TCP的聊天程序设计与开发.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《基于TCP 的聊天程序设计与开发》 实验指导 一. 实验目的 通过设计网络协议及应用程序来加深理解网络各层的功能和机理, 特别是对网络层、 运 输层、应用层的理解。 独立编写基于 TCP的网络应用程序, 独立上机调试程序, 掌握基于 TCP的网络应用基本 技术。 培养独立思考问题、 分析问题的能力和规范化工程设计的能力。 综合运用所学的知识去 解决实践中的应用问题,掌握实验技能。为以后的毕业设计与实际工作打下基础。 二. 实验方式与基本要求 独立编写程序,独立上机调试程序,独立撰写实验报告 三. 实验基本步骤 本试验采取分组进行协议设计, 然后各自进行独立的完整的程序设计 (包括概要设计与 代码设计),然后互相通信。 (如果设计正确, 这组程序的任何一个都应与其它程序是互通的) 。 步骤 1: 程序总体结构: C/S 结构。 C 与 S 分开。 步骤 2 :服务器 S 程序基本构成 S 主进程初始化 ;例如 void CServerSocket::Start() { this-Create(1169); // 创建端口进程 this-Listen(); } 主进程进入监听 ;例如 Listen();// 开始监听 重载虚函数 OnAccept ,响应客户请求 void CServerSocket::OnAccept(int nErrorCode) { // TODO: Add your specialized code here and/or call the base class SOCKADDR SockAddr; int i=0; while(iSLAVEMAX){ if(slave[i]==NULL){ slave[i] = new CServerSlaveSocket(dlg,this,i);// 创建子进程 this-Accept(*slave[i],SockAddr);// 接受客户连接请求 dlg-SetForegroundWindow(); CString idstr; idstr.Format(%d,i+1);// 加上客户端编号 slave[i]-Send( 连接成功啦 ^-^,13);// 发送连接成功消息给客户 CString c_IP; UINT c_Port; slave[i]-GetPeerName(c_IP,c_Port);// 获取客户端 IP 和端口 CString strPort; strPort.Format( %d,c_Port); char hostStr[50];// 添加客户信息 strcpy(hostStr,客户 +idstr+[+c_IP+:+strPort+]); dlg-m_hostList.AddString(hostStr);// 客户上线 break; } i++; } if(i==SLA VEMAX){ dlg-m_hostList.AddString( 已超过最大连接数 T_T); } CSocket::OnAccept(nErrorCode); }

文档评论(0)

zaqxsw1230 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档