黑马程序员_java网络编程——UDP传输和TCP传输
2015-03-24 22:29
776 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
在网络编程上两种常见的通信协议是TCP协议和UDP协议。由于TCP协议的特点是:持续、可靠、有连接但是对资源的要求比较高,也比较复杂,效率不高。而UDP协议的特点是:无连接的,文件被打包后什么时候发送是不定时的,还有可能在传输时丢包, 而且文件的大小也是有限制的,而不像TCP是流协议可以持续的传输信息。因而选择哪种同信方式的原则就是:当通信对安全性、可靠性的要求较高或者文件较大时用TCP协议,反之则用UDP协议。
一、 UDP协议发送方的操作步骤为:
1.创建一个DatagramSocket实例 DatagramSocket ds=new DatagramSocket();
2.将要发送的数据转为字节数组,打包并指定接收方的地址及端口
String str="你们好吗?";
byte[] bytes=str.getBytes();
DatagramPacket dp=new DatagramPacket
(bytes,bytes.length,InetAddress.getByName("127.0.0.1"),10000);
3.发送 ds.send(dp);
4.关闭资源 ds.close();
二、UDP协议接收方的操作步骤为:
1.创建一个DatagramSocket实例并指定端口 DatagramSocket ds=new DatagramSocket(10000);
2创建一个包来接受数据
byte []bytes=new byte[1024];
DatagramPacket dp=new Dat
agramPacket(bytes,bytes.length);
3.接收
ds.receive(dp);
4.关闭资源 ds.close();
这样就是完整的UDP通信过程,对于TCP通信其步骤如下:
一、TCP通信服务器端的操作步骤
1.创建ServerSocket
并监听一个端口 ServerSocket ss=new ServerSocket(9999);
2.用ServerSocket
类的accept()方法得到
Socket 连接,如果客户端没有连接将阻塞在这里
Socket s=ss.accept();
3.通过这个连接接收来自客户端的数据
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
4.将数据以字符串的形式打印出来这几步就完成了单向的通信
String info=br.readLine();
System.out.println("服务器传来的数据为:"+info);
二、TCP通信客户端的操作步骤
1.创建Socket连接用来连接服务器,让他们之间建立数据的通路
Socket
s=new Socket("127.0.0.1",9999);
2.创建PrintWriter 流
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
3.向Socket里面写东西
pw.println(br.readLine());
在网络编程上两种常见的通信协议是TCP协议和UDP协议。由于TCP协议的特点是:持续、可靠、有连接但是对资源的要求比较高,也比较复杂,效率不高。而UDP协议的特点是:无连接的,文件被打包后什么时候发送是不定时的,还有可能在传输时丢包, 而且文件的大小也是有限制的,而不像TCP是流协议可以持续的传输信息。因而选择哪种同信方式的原则就是:当通信对安全性、可靠性的要求较高或者文件较大时用TCP协议,反之则用UDP协议。
一、 UDP协议发送方的操作步骤为:
1.创建一个DatagramSocket实例 DatagramSocket ds=new DatagramSocket();
2.将要发送的数据转为字节数组,打包并指定接收方的地址及端口
String str="你们好吗?";
byte[] bytes=str.getBytes();
DatagramPacket dp=new DatagramPacket
(bytes,bytes.length,InetAddress.getByName("127.0.0.1"),10000);
3.发送 ds.send(dp);
4.关闭资源 ds.close();
二、UDP协议接收方的操作步骤为:
1.创建一个DatagramSocket实例并指定端口 DatagramSocket ds=new DatagramSocket(10000);
2创建一个包来接受数据
byte []bytes=new byte[1024];
DatagramPacket dp=new Dat
agramPacket(bytes,bytes.length);
3.接收
ds.receive(dp);
4.关闭资源 ds.close();
这样就是完整的UDP通信过程,对于TCP通信其步骤如下:
一、TCP通信服务器端的操作步骤
1.创建ServerSocket
并监听一个端口 ServerSocket ss=new ServerSocket(9999);
2.用ServerSocket
类的accept()方法得到
Socket 连接,如果客户端没有连接将阻塞在这里
Socket s=ss.accept();
3.通过这个连接接收来自客户端的数据
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
4.将数据以字符串的形式打印出来这几步就完成了单向的通信
String info=br.readLine();
System.out.println("服务器传来的数据为:"+info);
二、TCP通信客户端的操作步骤
1.创建Socket连接用来连接服务器,让他们之间建立数据的通路
Socket
s=new Socket("127.0.0.1",9999);
2.创建PrintWriter 流
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
3.向Socket里面写东西
pw.println(br.readLine());
相关文章推荐
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- 黑马程序员--10.网络编程--02.【网络传输三要素在Java中的体现】【TCP和UDP概念】【Socket基本概念】
- 黑马程序员-13-java网络编程-概念及UDP、TCP连接
- 黑马程序员 Java网络传输UDP和TCP协议
- 黑马程序员_网络编程TCP/UDP原理及其流程比较(java)
- 黑马程序员-------Java笔记--------网络编程(UDP与TCP基本步骤)
- java 网络编程 基于TCP ,UDP的网络传输
- 黑马程序员——Java网络编程(TCP和UDP)
- java 网络编程 [网络传输] [协议] [UDP与TCP] [套接字] [URL与URI]
- 黑马程序员--Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- 黑马程序员--java基础--网络编程(UDP和TCP)
- 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序
- 黑马程序员--java基础--网络编程TCP传输
- 黑马程序员_毕向东JAVA基础_网络编程(概述&UDP&TCP)
- 黑马程序员——Java网络编程之UDP传输
- 黑马程序员 java基础之网络编程TCP
- java网络编程之UDP与TCP
- Java中的TCP/UDP网络通信编程
- 黑马程序员_网络编程(UDP、TCP特点)