网络工程期末作业.docVIP

  • 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,即

文档评论(0)

1亿VIP精品文档

相关文档