协议 UDP、TCP UDP的接发数据的步骤
协议:通信的规则。分为UDP和TCP
UDP协议(不可靠协议):把数据打包;数据有限制:64K;不建立连接,速度快;不可靠
TCP协议(三次握手协议):建立连接通道;数据无限制;速度慢;可靠
Socket:网络套接字
Socket=IP地址+端口
原理机制:
1、通信两端都有Socket
2、网络通信其实就是Socket的通信
3、数据通过IO传输
UDP协议发送数据
A、创建发送端的Socket对象 DatagramSocket()
B、创建数据,并把数据打包 DatagramPacket(byte[] buf,int length,inetaddress address, int port) 要发送的数据,数据长度,发送的IP地址,发送的端口
C、调用Socket对象的发送方法发送数据包 sent()
D、释放资源
代码
package cn.idcast2;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;public class SendDemo {public static void main(String[] args) throws IOException {// 创建Socket对象 DatagramSocket()DatagramSocket ds = new DatagramSocket();// 创建要发送的数据byte[] bys = "你好啊".getBytes();// 创建发送数据的长度int length = bys.length;// 创建发送数据的目标IP地址InetAddress ip = InetAddress.getByName("192.168.1.115");// 创建发送数据的目标端口int port = 10011;// 把数据打包// DatagramPacket(byte[] buf,int length,inetaddress address, int port)DatagramPacket dp = new DatagramPacket(bys, length, ip, port);// 发送数据ds.send(dp);// 释放资源,由于底层是IO流,所以要释放资源ds.close();}
}
UDP协议接收数据
A、创建接收端的Socket对象 DatagramSocket (int port)
B、创建一个数据包 DatagramPacker(byte[] buf,int length)
C、调用Socket对象接收数据 receive()
D、解析数据包,并显示在控制台
1、数据从哪里来呢?IP地址 getAddress()和getHostAddress()
2、接收的数据是什么呢? getData()
3、数据的实际长度是多少呢? getLength()
4、接收的数据要转换成字符串
E、释放资源
代码
package cn.idcast2;import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;public class ReceiveDemo {public static void main(String[] args) throws IOException {// 创建接收端的Socket对象//DatagramSocket (int port)DatagramSocket ds = new DatagramSocket(10011);// 创建数据包 DategramPacker(byte[] buf,int length)byte[] bys = new byte[1024];int length = bys.length;DatagramPacket dp = new DatagramPacket(bys, length);ds.receive(dp);// 解析数据:数据从哪里接收的呢?从IP地址查InetAddress address = dp.getAddress();String ip =address.getHostAddress();// 接收的数据是什么呢,具体长度有多大呢byte[] bys2 = dp.getData();int length2 = dp.getLength();//把数据转换为字符串String s = new String(bys, 0, length2);System.out.println(ip + "传送的数据为:" + s);ds.close();}
}
注意:先从接收端查看数据,然后再查看发送端的数据
转载于:https://www.cnblogs.com/zengjiao/p/6516819.html
协议 UDP、TCP UDP的接发数据的步骤相关推荐
- 网络编程及三大协议(TCP + UDP + Http)
网络编程及三大协议(TCP + UDP + Http) 一.网络编程 1.计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络 ...
- 网络编程2_网络通讯协议, socket(tcp, udp)
一. 网络通讯协议 互联网协议的功能: 定义计算机如何接入internet, 以及接入internet的计算机的通信标准 互联网协议按照功能的不同分为osi七层或tcp/ip五层 ...
- 网络协议总结(TCP,UDP,HTTP,HTTPS)
TCP/IP总结 文章目录 TCP/IP总结 一. 网络模型 1. OSI七层 2. TCP/IP五层 二. TCP/UDP 1. TCP头部结构 2. 三次握手 3. 四次挥手 4. 流量控制 4. ...
- 传输层协议(TCP/UDP)介绍
一,TCP/IP协议族的传输层协议概况: 1,TCP:传输控制协议 2,UDP:用户数据报协议 二,TCP/UDP协议详解: 1,TCP a.TCP是面向连接的,可靠的进程到进程通信的协议 ...
- 简单的网络协议:TCP/UDP HTTP/HTTPS
TCP TCP传输控制协议,是一种提供可靠数据传输的通用协议 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端机通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使 ...
- zynq tcp如何从网口发数据_ZYNQ_PL与PS的DDR交互
ZYNQ7000系列中PS端与PL端的通信都是通过AXI总线进行连接的,利用好AXI协议是PS与PL交互的基础,因此设计这个实验来进一步了解两者间的通信. 1.实验目的 PL端通过AXI协议访问PS端 ...
- zynq tcp如何从网口发数据_基于TCP/IP协议的电口通信
之前有介绍过TCP/IP协议的实现是通过轻量级LWIP协议实现的,具体在FPGA中实现又可以分为多种方式,具体如下: 图8‑98 LWIP协议在FPGA中的实现方式 LWIP可以通过硬核实现或者软核实 ...
- HTTP协议之TCP/UDP区别
1. 目的差异 首先,这两个协议的目的不同:TCP 协议的核心目标是提供可靠的网络传输,而 UDP 的目标是在提供报文交换能力基础上尽可能地简化协议轻装上阵. 2. 可靠性差异 TCP 核心是要在保证 ...
- ESP8266,电脑作为TCP SERVER,8266发数据给电脑
正确打开ESP8266-与本机电脑建立连接并互发消息 1.确认ESP8266正常上电 2.使ESP8266进入AT模式 波特率:115200:数据位8位,1位停止位,无奇偶校正,无数据流控制. 3. ...
- 网络协议-网络分层、TCP/UDP、TCP三次握手和四次挥手
网络的五层划分是什么? 应用层,常见协议:HTTP.FTP 传输层,常见协议:TCP.UDP 网络层,常见协议:IP 链路层 物理层 TCP 和 UDP 的区别是什么 TCP/UDP 都属于传输层的协 ...
最新文章
- DevExpress GridControl使用(二)
- Swift 3 新特性
- 3 了解MyBatis映射文件
- MySQL配置文件优化
- Struts2中的OGNL详解
- Linux 关闭、开启、查看 防火墙命令
- STM32驱动LCD实战
- mysql基础,索引
- python闹钟_用python做了个高级闹钟 欢迎借鉴
- spring教程笔记6
- win7服务器如何还原系统教程视频,windows7系统还愿怎么操作_win7系统还原重置方法...
- 在code::block中创建console application
- 巧用金山网盾对付游戏插件强行锁定主页
- 易语言dd驱动模拟按键模块_DD驱动 虚拟键盘 虚拟鼠标
- 2018.6清北学堂day3上午笔记
- 剥opgw光缆工具_ADSS光缆开剥光缆常用方法及开剥注意点
- 基于matlab的RS编译码仿真,从底层原理分析RS编译码的实现过程
- 福昕阅读器自定义快捷键
- 论坛社区项目——项目总结
- 工资被倒挂,想离职很正常,但这3种情况要警惕
热门文章
- [CareerCup] 7.6 The Line Passes the Most Number of Points 经过最多点的直线
- SEO专题之三:SEO与网站开发
- SAStruts中文文档
- vim常用命令(二)
- Silverlight 与 WPF 的一些差异
- ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤...
- day4(继承、修饰符、方法的重写、super关键词、继承中的构造方法、object类、对象转型)...
- enum枚举类型 的用法
- manifest.json文件的 “name” “description” “version 字段解释
- Mybatis参数Integer类型值为0 源码处理