TCP和UDP两个协议在Java通信编程中是如何被使用的
2017-11-06 15:08
716 查看
UDP协议与TCP协议之间的区别不再分析,主要是分析一下这两个协议在Java通信编程中是如何被使用的。
首先介绍TCP,对于TCP,Java语言为它提供了良好的支持。建立TCP通信,首先需要构建服务器,并且得
到服务器的IP和端口号。
TCP协议下的Socket类:
java.net.Socket类代表客户端连接
java.net.ServerSocket类代表服务器端连接
Server:ServerSocket ss = new ServerSocket(5000); //创建服务器端的socket对象
Socket socket = ss.accept(); //监听连接
Client: Socket socket = new Socket ("xxx.xxx.xxx.xxx", 5000); //创建客户端的Socket对象,xxx.xxx.xxx.xxx代表服
务器的IP
构建输入输出:
输入:InputStream is = socket.getInputStream(); //输入流,代表接收到的信息
is.read(buffer);
输出:OutputStream os = socket socket.getOutputStream(); //输出流,代表发送出去的信息
os.write("Welcome".getBytes()); //以字节传输
关闭资源:
is.close();
os.close();
socket.close();
具体实例:使用TCP/IP的套接字(Socket)进行通信
接下来介绍一下UDP
UDP建立连接的方式与TCP的方式不同,它只需要建立一个连接对象即可,不需要指定服务器的IP和端口号。
UDP协议下的Socket类:
java.net.DatagramSocket类既可以实现客户端连接,也可以实现服务器端连接。
java.net.DatagramPacket类实现对于传输的数据封装。在UDP协议下,无论是需要发送的数据还是需要接收的数
据都需要被处理成DatagramPacket类型的对象。
DatagramSocket ds = new DatagramScoket(); //建立连接, 如果发送端和接收端需要通信,那么在建立连接时需要监
听端口:DatagramSocket ds = new DatagramScoket(10010); InetAddress senderIP = revDp.getAddress(); int senderPort=rev
Dp.getPort(); //获得发送端的IP和端口号
构建输入输出
输出:
byte[] b = "Hello".getBytes();
InetAddress server = InetAddress.getByName("xxx.xxx.xxx.xxx"); //xxx.xxx.xxx.xxx为接收方的IP
DatagramPacket sendDp = new DatagramPacket(b,b.length,server,port); //port为接收方的端口号10010
ds.send(sendDp);
输入:
byte[] data = new byte[1024];
DatagramPacket revDp = new DatagramPacket(data, data.length);
ds.receive(revDp);
关闭资源:
ds.close()
首先介绍TCP,对于TCP,Java语言为它提供了良好的支持。建立TCP通信,首先需要构建服务器,并且得
到服务器的IP和端口号。
TCP协议下的Socket类:
java.net.Socket类代表客户端连接
java.net.ServerSocket类代表服务器端连接
Server:ServerSocket ss = new ServerSocket(5000); //创建服务器端的socket对象
Socket socket = ss.accept(); //监听连接
Client: Socket socket = new Socket ("xxx.xxx.xxx.xxx", 5000); //创建客户端的Socket对象,xxx.xxx.xxx.xxx代表服
务器的IP
构建输入输出:
输入:InputStream is = socket.getInputStream(); //输入流,代表接收到的信息
is.read(buffer);
输出:OutputStream os = socket socket.getOutputStream(); //输出流,代表发送出去的信息
os.write("Welcome".getBytes()); //以字节传输
关闭资源:
is.close();
os.close();
socket.close();
具体实例:使用TCP/IP的套接字(Socket)进行通信
接下来介绍一下UDP
UDP建立连接的方式与TCP的方式不同,它只需要建立一个连接对象即可,不需要指定服务器的IP和端口号。
UDP协议下的Socket类:
java.net.DatagramSocket类既可以实现客户端连接,也可以实现服务器端连接。
java.net.DatagramPacket类实现对于传输的数据封装。在UDP协议下,无论是需要发送的数据还是需要接收的数
据都需要被处理成DatagramPacket类型的对象。
DatagramSocket ds = new DatagramScoket(); //建立连接, 如果发送端和接收端需要通信,那么在建立连接时需要监
听端口:DatagramSocket ds = new DatagramScoket(10010); InetAddress senderIP = revDp.getAddress(); int senderPort=rev
Dp.getPort(); //获得发送端的IP和端口号
构建输入输出
输出:
byte[] b = "Hello".getBytes();
InetAddress server = InetAddress.getByName("xxx.xxx.xxx.xxx"); //xxx.xxx.xxx.xxx为接收方的IP
DatagramPacket sendDp = new DatagramPacket(b,b.length,server,port); //port为接收方的端口号10010
ds.send(sendDp);
输入:
byte[] data = new byte[1024];
DatagramPacket revDp = new DatagramPacket(data, data.length);
ds.receive(revDp);
关闭资源:
ds.close()
相关文章推荐
- Java通信编程中调用UDP协议与TCP协议之间的不同
- JAVA网络编程入门的两个demo(TCP+UDP)
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 在Java中使用UDP协议编程的相关类(转)
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
- Java中的TCP/UDP网络通信编程
- Java中的TCP/UDP网络通信编程
- TCP、UDP协议,java网络通信基础
- Java网络编程,Socket,ServerSocket使用,TCP,UDP的异同
- Java_网络编程_使用UDP协议发送及接收数据
- JAVA网络编程入门的两个demo(TCP+UDP)
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- java 网络编程 [网络传输] [协议] [UDP与TCP] [套接字] [URL与URI]
- 22java中使用UDP TCP 协议做聊天工具
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
- java 网络编程 Tcp和UDP 的使用
- 使用JAVA实现Socket通信,TCP、UDP简析。
- Java中的TCP/UDP网络通信编程
- Java中的TCP/UDP网络通信编程
- 黑马程序员——java网络编程中的传输协议:UDP和TCP