ImageVerifierCode 换一换
格式:PPT , 页数:13 ,大小:159.50KB ,
资源ID:1116291      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1116291.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络通信.ppt)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

网络通信.ppt

1、,软帝信息科技,网络通信技术,主讲:李博,2018/6/13,DNS,DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。C#中的DNS则是一个静态类,它从Internet域名系统(DNS)检索关于特定主机的信息。提供简单的域名解析功能。,2018/6/13,IP,IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。IPv6是Internet

2、 Protocol Version 6的缩写,也被称作下一代互联网协议,它是由IETF小组(Internet工程任务组Internet Engineering Task Force)设计的用来替代现行的IPv4(现行的IP)协议的一种新的IP协议。IPv4地址用一个32位二进制的数表示一个主机号码,但资源有限。IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1280:c8ff:fe4d:db39C#中IPAddress类包含计算机在IP网络上的地址。,2018/6/13,端口,计算机端

3、口是英文port的意译,可以认为是计算机与外界通讯交流的出口。协议端口如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:216)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(216-1)。 UDP是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分辨运行在同一台设备上的多个应用程序。,2018/6/13,SOCKET,Socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取

4、后一种意思。通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。C#中的Socket 类为网络通信提供了一套丰富的方法和属性。,2018/6/13,飞秋发送数据的格式,/飞秋发送数据的格式Ver:Packe

5、tNo:SenderName:SenderHost:CommandNo:AdditionalSectionmsg = string.Format(0:1:2:3:4:5, 1.5, DateTime.Now.Ticks, 李连杰, Dns.GetHostName(), 32, msg);,2018/6/13,线程,线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可

6、少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。 线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。,2018/6/13,发送端,/获取对方的ip地址 string s = textBox2.Text; /转换成真正的ip地址 IPAddress ip = IPAddress.Parse(s); /端口号 int port = 2

7、425;/飞秋端口号 /获取发送的消息 string msg = textBox3.Text; /飞秋发送数据的格式Ver:PacketNo:SenderName:SenderHost:CommandNo:AdditionalSection msg = string.Format(0:1:2:3:4:5, 1.5, DateTime.Now.Ticks, 李连杰, Dns.GetHostName(), 32, msg); /使用socket通信技术 Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,

8、ProtocolType.Udp);,2018/6/13,发送端,/AddressFamily寻址方案 /SocketType socket类型 /protocolType协议类型 /连接到对方 client.Connect(ip, port); /要以字节数组的形式发送数据 byte buffer = Encoding.Default.GetBytes(msg); /发送数据 client.Send(buffer); MessageBox.Show(发送成功); /关闭连接,释放资源 client.Close();,2018/6/13,接收端,Socket server; private v

9、oid button1_Click(object sender, EventArgs e) server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); /端口号 int port = 3000;/不能和飞秋的端口号一样 /服务器端端口号不能和已经运行了的软件的端口号重复 /指定接收哪些ip传来的数据 IPAddress ip = IPAddress.Any; /ip和端口容器 EndPoint ep = new IPEndPoint(ip, port);/EndPoint是抽象类 /绑

10、定服务 server.Bind(ep);,2018/6/13,接收端,/新建一个线程专门接受数据 Thread th = new Thread(new ThreadStart(ReceiveMsg); th.IsBackground = true;/设置为后台线程后,此线程就会随着主线程的关闭而关闭 th.Start();/启动线程 public void ReceiveMsg() byte buffer = new byte1024; /定义一个字节数组来保存接收到的数据 int readLen = 0;/每次真正接收到的数据 while (true) ,2018/6/13,接收端,/接收数

11、据 /接收是一个等待的过程 /接受消息的代码一直循环执行,判断有没有数据接收到 /但这样的话,占用了窗体线程,窗体成为一个卡死状态 if (readLen=server.Receive(buffer)0) /把接收到的字节数组转换成字符串 string msg = Encoding.Default.GetString(buffer, 0, readLen); textBox1.AppendText(接收到的消息:+msg+rn); ,2018/6/13,接收端,public Form2() InitializeComponent(); /允许跨线程访问(不做线程安全检测) Form.CheckForIllegalCrossThreadCalls = false; ,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报