javatcp协议与udp协议的区别(Java网络编程之UDP协议)
javatcp协议与udp协议的区别(Java网络编程之UDP协议)每个设备在网络中的唯一标识网络编程三要素之IP概述是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2)网络编程就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
今天我们来聊聊
网络编程这部分的内容
网络编程
1)计算机网络
是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2)网络编程
就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
网络编程三要素之IP概述
每个设备在网络中的唯一标识
每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。
ipconfig:查看本机IP地址
ping:测试连接
这个结果就表示连接成功了
本地回路地址:127.0.0.1
IPv4:4个字节组成,4个0-255组成。
一共大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。
IPv6:8组,每组4个16进制数。
1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
中间的“0”可以省略~写成:
1a2b::aaaa:0000:0000:0000:aabb:1f2f
或1a2b:0000:aaaa::aabb:1f2f
或1a2b:0000:aaaa::0000:aabb:1f2f
或1a2b:0000:aaaa:0000::aabb:1f2f
网络编程三要素之端口号
每个程序在设备上的唯一标识
每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。
端口号范围从0-65535
编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。
常用端口
mysql: 3306
oracle: 1521
web: 80
tomcat: 8080
网络编程三要素之协议
为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
UDP
面向无连接,数据不安全,速度快。不区分客户端与服务端。
就比如我们发短信,一般就是直接把信息编好久发过去,不管那边是什么情况、能不能收到。
TCP
面向连接(三次握手),数据安全,速度略低。分为客户端和服务端。
三次握手:
客户端先向服务端发起请求 服务端响应请求 传输数据
就好像我们取快递的时候,先给小哥一个暗号“取快递”,小哥听到了(第一次握手)然后给你一个回应 “报一下手机号”,你听到(第二次握手)了之后就报了号码给快递小哥(第三次握手)。这样确认之后就可以把快递给你了~
Socket通信
Socket套接字概述:
网络上具有唯一标识的 IP地址 和 端口号 组合在一起才能构成唯一能识别的标识符套接字。
通信的两端都有 Socket。网络通信其实就是 Socket 间的通信。数据在两个Socket 间通过 IO流 传输。
Socket 在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的 IP 和 port。
UDP传输
发送Send
总共分四步:
1)创建DatagramSocket 随机端口号
2)创建DatagramPacket 指定数据 长度 地址 端口
3)使用DatagramSocket发送DatagramPacket
4)关闭DatagramSocket
接收Receive
总共分四步:
1)创建DatagramSocket 指定端口号
2)创建DatagramPacket 指定数组 长度
3)使用DatagramSocket接收DatagramPacket
4)关闭DatagramSocket
效果:
UDP传输多线程
发送和接收在一个窗口完成
那么就先到这里了
再见了
我是萌新娜娜
立志做一个不翻车的老司机
学习Java的路上请多多指教
大家如果想要更深入了解java相关知识,私信我回复:【Java】 即可知道你们想要知道的java相关问题