5WIN高级编程05TCP应用编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第第第第5555章章章章TCPTCPTCPTCP应用编程应用编程应用编程应用编程5.1TCP5.1TCP5.1TCP5.1TCP应用编程概述应用编程概述应用编程概述应用编程概述5.25.25.25.2利用同步利用同步利用同步利用同步TCPTCPTCPTCP编写网络聊天程序编写网络聊天程序编写网络聊天程序编写网络聊天程序5.35.35.35.3利用同步利用同步利用同步利用同步TCPTCPTCPTCP编写网络游戏编写网络游戏编写网络游戏编写网络游戏5.45.45.45.4异步异步异步异步TCPTCPTCPTCP应用编程应用编程应用编程应用编程5.55.55.55.5异步异步异步异步TCPTCPTCPTCP编程举例编程举例编程举例编程举例2第第第第5555章章章章TCPTCPTCPTCP应用编程(续)应用编程(续)应用编程(续)应用编程(续)�本章教学目的本章教学目的本章教学目的本章教学目的通过学习,使学生掌握涉及的知识点,能对通过学习,使学生掌握涉及的知识点,能对通过学习,使学生掌握涉及的知识点,能对通过学习,使学生掌握涉及的知识点,能对TCPTCPTCPTCP同步编程同步编程同步编程同步编程流程流程流程流程有深入认识,并熟悉有深入认识,并熟悉有深入认识,并熟悉有深入认识,并熟悉异步异步异步异步TCPTCPTCPTCP编程编程编程编程的基本概念和异步的基本概念和异步的基本概念和异步的基本概念和异步TCPTCPTCPTCP应应应应用编程的一般方法。用编程的一般方法。用编程的一般方法。用编程的一般方法。�本章教学要求本章教学要求本章教学要求本章教学要求((((1111)掌握)掌握)掌握)掌握TCPTCPTCPTCP的特点、涉及到相关类、的特点、涉及到相关类、的特点、涉及到相关类、的特点、涉及到相关类、TCPTCPTCPTCP应用编程的一般应用编程的一般应用编程的一般应用编程的一般步骤以及怎样解决无消息边界问题步骤以及怎样解决无消息边界问题步骤以及怎样解决无消息边界问题步骤以及怎样解决无消息边界问题;;;;((((2222)掌握同步)掌握同步)掌握同步)掌握同步TCPTCPTCPTCP编程的流程和使用方法。编程的流程和使用方法。编程的流程和使用方法。编程的流程和使用方法。((((3333)掌握异步设计模式、异步)掌握异步设计模式、异步)掌握异步设计模式、异步)掌握异步设计模式、异步TCPTCPTCPTCP应用编程的一般方法。应用编程的一般方法。应用编程的一般方法。应用编程的一般方法。�教学难点和重点教学难点和重点教学难点和重点教学难点和重点TCPTCPTCPTCP应用编程的一般步骤,如何开辟多线程与多个客户打交应用编程的一般步骤,如何开辟多线程与多个客户打交应用编程的一般步骤,如何开辟多线程与多个客户打交应用编程的一般步骤,如何开辟多线程与多个客户打交道,如何实现服务器和客户端相关功能。异步设计模式实现。道,如何实现服务器和客户端相关功能。异步设计模式实现。道,如何实现服务器和客户端相关功能。异步设计模式实现。道,如何实现服务器和客户端相关功能。异步设计模式实现。35.1TCP5.1TCP5.1TCP5.1TCP应用编程概述应用编程概述应用编程概述应用编程概述5.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介简介简介简介5.1.25.1.25.1.25.1.2TcpListenerTcpListenerTcpListenerTcpListener类与类与类与类与TcpClientTcpClientTcpClientTcpClient类类类类5.1.3TCP5.1.3TCP5.1.3TCP5.1.3TCP应用编程的一般步骤应用编程的一般步骤应用编程的一般步骤应用编程的一般步骤5.1.4TCP5.1.4TCP5.1.4TCP5.1.4TCP的无消息边界问题的无消息边界问题的无消息边界问题的无消息边界问题45.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介简介简介简介�TCPTCPTCPTCP是是是是TransmissionControlProtocolTransmissionControlProtocolTransmissionControlProtocolTransmissionControlProtocol((((传传传传输控制协议输控制协议输控制协议输控制协议))))的简称,是的简称,是的简称,是的简称,是TCP/IPTCP/IPTCP/IPTCP/IP体系中体系中体系中体系中面向面向面向面向连接连接连接连接的的的的运输层运输层运输层运输层协议,在网络中提供协议,在网络中提供协议,在网络中提供协议,在网络中提供全双工的全双工的全双工的全双工的和和和和可靠的可靠的可靠的可靠的服务。服务。服务。服务。�TCPTCPTCPTCP最主要的特点:最主要的特点:最主要的特点:最主要的特点:((((1111)是)是)是)是面向连接面向连接面向连接面向连接的的的的传输层传输层传输层传输层协议;协议;协议;协议;((((2222)每个)每个)每个)每个TCPTCPTCPTCP连接只能有两个端点,而且连接只能有两个端点,而且连接只能有两个端点,而且连接只能有两个端点,而且只只只只能一对一通信能一对一通信能一对一通信能一对一通信,不能一点对多点直接通信。,不能一点对多点直接通信。,不能一点对多点直接通信。,不能一点对多点直接通信。55.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介简介简介简介(续)(续)(续)(续)�TCPTCPTCPTCP最主要的特点:最主要的特点:最主要的特点:最主要的特点:((((3333)通过)通过)通过)通过TCPTCPTCPTCP连接传送的数据,能保证数据连接传送的数据,能保证数据连接传送的数据,能保证数据连接传送的数据,能保证数据无差错无差错无差错无差错、、、、不丢失不丢失不丢失不丢失、、、、不重复不重复不重复不重复地准确到达接收地准确到达接收地准确到达接收地准确到达接收方,并且保证各数据到达的顺序与数据发出方,并且保证各数据到达的顺序与数据发出方,并且保证各数据到达的顺序与数据发出方,并且保证各数据到达的顺序与数据发出的的的的顺序相同顺序相同顺序相同顺序相同。。。。((((4444)数据以)数据以)数据以)数据以字节流的方式字节流的方式字节流的方式字节流的方式传输。传输。传输。传输。((((5555)传输的)传输的)传输的)传输的数据无消息边界数据无消息边界数据无消息边界数据无消息边界。。。。65.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介(续)简介(续)简介(续)简介(续)�利用利用利用利用TCPTCPTCPTCP开发应用程序时,开发应用程序时,开发应用程序时,开发应用程序时,.NET.NET.NET.NET框架提供框架提供框架提供框架提供两两两两种工作方式种工作方式种工作方式种工作方式::::(1)(1)(1)(1)同步工作方式同步工作方式同步工作方式同步工作方式指利用指利用指利用指利用TCPTCPTCPTCP编写的程序执行到发送、接收编写的程序执行到发送、接收编写的程序执行到发送、接收编写的程序执行到发送、接收或监听语句时,在或监听语句时,在或监听语句时,在或监听语句时,在未完成工作前不再继续往下未完成工作前不再继续往下未完成工作前不再继续往下未完成工作前不再继续往下执行执行执行执行,即处于,即处于,即处于,即处于阻塞状态阻塞状态阻塞状态阻塞状态,直到该语句完成相应,直到该语句完成相应,直到该语句完成相应,直到该语句完成相应的工作后才继续执行下一条语句;的工作后才继续执行下一条语句;的工作后才继续执行下一条语句;的工作后才继续执行下一条语句;75.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介(续)简介(续)简介(续)简介(续)(2)(2)(2)(2)异步工作方式异步工作方式异步工作方式异步工作方式异步工作方式是指程序执行到发送、接收异步工作方式是指程序执行到发送、接收异步工作方式是指程序执行到发送、接收异步工作方式是指程序执行到发送、接收或监听语句时,或监听语句时,或监听语句时,或监听语句时,不论工作是否完成,都会继续不论工作是否完成,都会继续不论工作是否完成,都会继续不论工作是否完成,都会继续往下执行往下执行往下执行往下执行。。。。例如:例如:例如:例如:同步接收数据时同步接收数据时同步接收数据时同步接收数据时,接收方执行到接,接收方执行到接,接收方执行到接,接收方执行到接收语句后将收语句后将收语句后将收语句后将处于阻塞方式处于阻塞方式处于阻塞方式处于阻塞方式,只有接收到对方发,只有接收到对方发,只有接收到对方发,只有接收到对方发来的数据后才继续执行下一条语句;而如果采来的数据后才继续执行下一条语句;而如果采来的数据后才继续执行下一条语句;而如果采来的数据后才继续执行下一条语句;而如果采用用用用异步工作方式异步工作方式异步工作方式异步工作方式,则接收方在执行到接收语句,则接收方在执行到接收语句,则接收方在执行到接收语句,则接收方在执行到接收语句后,无论是否接收到对方发来的数据,程序都后,无论是否接收到对方发来的数据,程序都后,无论是否接收到对方发来的数据,程序都后,无论是否接收到对方发来的数据,程序都继续往下执行继续往下执行继续往下执行继续往下执行。。。。85.1.1TCP5.1.1TCP5.1.1TCP5.1.1TCP简介(续)简介(续)简介(续)简介(续)�思考:思考:思考:思考:这里的同步这里的同步这里的同步这里的同步TCPTCPTCPTCP和异步和异步和异步和异步TCPTCPTCPTCP与线程同步异步是与线程同步异步是与线程同步异步是与线程同步异步是否概念是否相同?否概念是否相同?否概念是否相同?否概念是否相同?�回答:回答:回答:回答:(1)(1)(1)(1)这里的这里的这里的这里的同步同步同步同步TCPTCPTCPTCP和和和和异步异步异步异步TCPTCPTCPTCP仅仅指仅仅指仅仅指仅仅指工作方式工作方式工作方式工作方式,它,它,它,它和线程间的同步不是一个概念。和线程间的同步不是一个概念。和线程间的同步不是一个概念。和线程间的同步不是一个概念。(2(2(2(2))))线程线程线程线程间的同步指不同线程或其共享资源具有间的同步指不同线程或其共享资源具有间的同步指不同线程或其共享资源具有间的同步指不同线程或其共享资源具有先后先后先后先后关联的关系关联的关系关联的关系关联的关系,而同步,而同步,而同步,而同步TCPTCPTCPTCP和异步和异步和异步和异步TCPTCPTCPTCP则仅仅指则仅仅指则仅仅指则仅仅指TCPTCPTCPTCP编编编编程中采用哪种工作方式,即是从执行到发送、接收或程中采用哪种工作方式,即是从执行到发送、接收或程中采用哪种工作方式,即是从执行到发送、接收或程中采用哪种工作方式,即是从执行到发送、接收或监听语句时,程序是否继续往下执行这个角度来说的。监听语句时,程序是否继续往下执行这个角度来说的。监听语句时,程序是否继续往下执行这个角度来说的。监听语句时,程序是否继续往下执行这个角度来说的。95.1.25.1.25.1.25.1.2TcpListenerTcpListenerTcpListenerTcpListener类与类与类与类与TcpClientTcpClientTcpClientTcpClient类类类类�TcpListenerTcpListenerTcpListenerTcpListener类与类与类与类与TcpClientTcpClientTcpClientTcpClient类两个类均类两个类均类两个类均类两个类均封装了底层封装了底层封装了底层封装了底层的套接字的套接字的套接字的套接字,并分别提供了对套接字进一步封装后的,并分别提供了对套接字进一步封装后的,并分别提供了对套接字进一步封装后的,并分别提供了对套接字进一步封装后的同步和异步操作的方法,同步和异步操

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功