TCP和UDP协议信息传递

来源:互联网 发布:finereport数据查询 编辑:程序博客网 时间:2024/06/08 19:27

TCP:分客户端和服务端。

TCPServer.java:

package com.buaa.tcpDemo01;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TCPServer {public static void main(String[] args) throws Exception{ServerSocket server = new ServerSocket(4444);Socket socket = server.accept();OutputStream os = socket.getOutputStream();InputStream is = socket.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(is));String data = reader.readLine();System.out.println(data);os.write("From Server:hi,I am server .\n".getBytes());reader.close();is.close();os.close();}}

TCPClient.java:

package com.buaa.tcpDemo01;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.Socket;public class TCPClient {public static void main(String[] args) throws Exception{Socket socket = new Socket("127.0.0.1",4444);OutputStream os = socket.getOutputStream();os.write("From Client:Hi,I am Client .\n".getBytes());InputStream is = socket.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String data = br.readLine();System.out.println(data);br.close();is.close();os.close();}}

UDPServer.java:

package com.buaa.udpDemo01;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class UDPServer {public static void main(String[] args) throws Exception{DatagramSocket ds = new DatagramSocket(5555);byte[] buf = new byte[1024];DatagramPacket dp = new DatagramPacket(buf,1024);ds.receive(dp);String data = new String(dp.getData(),0,dp.getLength());System.out.println(data);InetAddress addr = dp.getAddress();int port = dp.getPort();byte[] echo = "From Server:echo..........".getBytes();DatagramPacket dp2 = new DatagramPacket(echo,echo.length,addr,port);ds.send(dp2);ds.close();}}

UDPClient.java:

package com.buaa.udpDemo01;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class UDPClient {public static void main(String[] args) throws Exception{DatagramSocket ds = new DatagramSocket();InetAddress addr = InetAddress.getByName("127.0.0.1");byte[] data = "From Client:Hi,I am Client .".getBytes();DatagramPacket dp = new DatagramPacket(data,data.length,addr,5555);ds.send(dp);byte[] buf = new byte[1024];DatagramPacket dp2 = new DatagramPacket(buf,1024);ds.receive(dp2);String echo = new String(dp2.getData(),0,dp2.getLength());System.out.println(echo);ds.close();}}


0 0