- 10
- 0
- 约1.58万字
- 约 22页
- 2018-10-15 发布于河南
- 举报
网络工程期末作业.doc
基于TCP的WinSock 网络编程
班级:11计科(1)班 姓名:冯晓凤 学号:2011329620102
概念介绍
1.socket
socket通常称作套接字,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
2.TCP协议
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的可靠的传输协议,在端点与端点之间建立持续的连接而进行通信。建立连接后,发送端将发送的数据印记了序列号和错误检测代码,并以字节流的方式发送出去;接收端则对数据进行错误检查并按序列顺序将数据整理好,数据在需要时可以重新发送,因此整个字节流到达接收端时完好无缺。这与两个人打电话的情形是相似的,两方先建立连接,先输出的话先到达。TCP协议具有可靠性和有序性,并且以字节流的方式发送数据,它通常被称为流通信协议。
Socket 通信
Socket 编程是利用TCP协议在客户和服务器之间建立一个专门的点到点的通信连接技术来实现数据交换。Socket 通信就是利用TCP协议进行通信,需要编写服务器端和客户端两个程序,一般的通信过程如下:首先服务器端和客户端都创建各自的Socket 类,然后服务器开始监听某个端口是否有连接请求,客户端向服务器端发出连接请求,服务器端向客户端发回接收消息,一个Socket 连接就建立起来了;服务器端和客户端都可以打开连接到Socket 的输入输出流,按照一定的协议对Socket 进行读/写操作与对方通信;通信结束,Socket 完毕。
二、编程内容:
使用网络编程语言(C++)编写一个简化的、类似FTP文件传输服务的client/server应用,client和server之间的通信基于TCP协议,client从用户接收命令,然后与server进行交互。
三、设计思路CListBox m_msg; //存放客户端信息和从服务器返回的信息
int m_port; //指定与服务器相同的端口
CString m_ip; //服务器的ip地址
CString m_order; //命令输入窗口的相应变量
CString m_path; //存放下载的文件的路径并为文件命名void OnReadme(); //版本说明函数
void OnbuttonSend(); //命令发送按钮消息
void OnBreak(); //断开连接函数
void OnBconnet(); //连接按钮消息void OnSave(); //保存文件路径函数,调用文件浏览对话框
void Onshuoming(); //弹出说明文档的按钮消息void OnReceive(); //接收服务器的返回信息并做相应处理
void OnConnect(); //与服务器连接上时的相应信息
void OnSend(); //发送客户端命令
void OnClose(); //关闭客户端socketCFile file; //用于存放下载的文件
int i; //用于存放正在接收的文件的进度
int type; //用于标识命令的类型
int dataLength; //接收文件时每次接收到数据包的大小
CString ss; //用于将接收到的服务器返回的200 OK和文件长度byte *data; //存放接受文件时每次接收到的数据包
①命令的发送:
a.对于dir、exit命令,只需在文件命令编辑框中键入所需的命令,按下发送按钮即可,程序会调用相应的OnbuttonSend函数,由该函数指向OnSend函数。
b.对于get命令,必须在该命令调用前指定所要下载的文件的保存路径,在保存路径编辑框中键入所要保存的路径,或者单击“浏览”按钮-OnSave函数,调用文件路径选择对话框,选择要保存的路径及相应的文件名。此处代码不做赘述,详见源代码及相应注释。然后再调用OnbuttonSend-OnSend,对命令作相应的处理。
c.在OnSend中,对输入的命令进行判别,给每个种类的命令赋予一个标识符,存放在变量type中,其中
exit-type=0;
get —type=1;
dir —type=2;
else —type=5; //即错误命令则type=5,同时将命令发送给服务器。
②命令的接收:
当服务器有消息发出时,客户端响应函数OnReceive,对自服务器接收到的消息做相应的处理:
a.判断之前发出的命令属于哪种命令,用type作为判断的依据。
b.当type=0,即
您可能关注的文档
- 第八节计算固有频率的近似方法.doc
- 第八讲1 分子的对称性.ppt
- 第八课 维护公平正义_图文.ppt
- 第六十三课:PS自动曲线及黑灰白场(色调调整).doc
- 第六十四课:ps数码照片调色实例教程(色调调整).doc
- 第六章 作业环境分析.ppt
- 第六章图层管理.ppt
- 第六节 管路的检修.ppt
- 《精度设计与标准化》课程分科次教学简案.ppt
- 第四章 根轨迹分析法4_2.ppt
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
最近下载
- 2024年河南省第三届职业技能大赛美容(世赛选拔)项目技术工作文件.pdf
- 2025年江苏苏州中学匡亚明班自主招生数学试卷真题(含答案详解).docx VIP
- 北京大学科研经费博士研究生专项招生计划招生指南.pptx VIP
- 2026年度江苏旅游职业学院单招《数学》考试综合练习完美版附答案详解.docx VIP
- 关爱女性健康 预防乳腺疾病.pptx VIP
- 说勤原文范文.docx VIP
- 2026年江苏旅游职业学院单招语文考试卷.docx VIP
- 外文翻译--基于单片机的智能电风扇控制系统(外文原文+中文翻译).docx VIP
- 用三坐标测量机正确测量同轴度误差.pdf VIP
- 2025年浙江慈溪中学提前自主招生考试数学试卷(含答案详解).docx
原创力文档

文档评论(0)