下载此文档

基于TCP的聊天程序设计与开发剖析.docx


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
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(i<SLAVEMAX){
if(slave[i]==NULL){
slave[i] = new CServerSlaveSocket(dlg,this,i);// 创建子进程 this->Accept(*slave[i],&SockAddr);// 接受客户连接请求
dlg->SetForegroundWindow();
CString idstr;
("%d",i+1);// 加上客户端编号
slave[i]->Send("连接成功啦A-A",13);//发送连接成功消息给客户
CString c_IP;
UINT c_Port;
slave[i]->GetPeerName(c_IP,c_Port);// 获取客户端 IP 和端口
CString strPort;
( "%d",c_Port);
char hostStr[50];// 添加客户信息
strcpy(hostStr,"客户"+idstr+"["+c_IP+":"+strPort+"]");
dlg->(hostStr);// 客户上线 break;
} i++;
}
if(i==SLA VEMAX){
dlg->(" 已超过最大连接数 T_T");
}
CSocket::OnAccept(nErrorCode);
}
释放一个连接
void CServerSocket::DeleteSlaveSocket(int id

基于TCP的聊天程序设计与开发剖析 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjl201702
  • 文件大小226 KB
  • 时间2021-06-10