浅谈java的TCP和UDP编程(附实例讲解)
2017-05-30 08:31
721 查看
TCP
客户端:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class MyClient { public static void main(String[] args) throws Exception{ Socket socket = null; BufferedReader in = null; PrintWriter out = null; BufferedReader input = null; // 请求指定ip和端口号的服务器 socket = new Socket("127.0.0.1",3333); while(true){ in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); // 接收控制台的输入 input = new BufferedReader(new InputStreamReader(System.in)); // out.println("this is client info!"); String info = input.readLine(); out.println(info); String str = in.readLine(); System.out.println("客户端显示--》服务器的信息:" + str); } //in.close(); //out.close(); } }
服务端:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MyServices { public static void main(String[] args) throws Exception{ ServerSocket ss = null; Socket socket = null; BufferedReader in = null; PrintWriter out = null; BufferedReader input = null; // 监听3333端口 ss = new ServerSocket(3333); // 等待接收客户端的请求 socket = ss.accept(); while(true){ // 获取连接对象的输入流 in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 获取客户端的输入信息 String str = in.readLine(); input = new BufferedReader(new InputStreamReader(System.in)); System.out.println("服务器显示-->客户端输入数据:" + str); out = new PrintWriter(socket.getOutputStream(),true); // 将数据输出到客户端 // out.println("hehe"); String info = input.readLine(); out.println(info); } // in.close(); // out.flush(); // out.close(); } }
UDP
客户端:
import java.net.DatagramPacket; import java.net.DatagramSocket; public class UDPClient { public static void main(String[] args) throws Exception { DatagramSocket ds = null; DatagramPacket dp = null; byte[] buf = new byte[1024]; ds = new DatagramSocket(3333); dp = new DatagramPacket(buf, 1024); // 接收数据,放入数据报 ds.receive(dp); // 从数据报中取出数据 String info = new String(dp.getData(),0, dp.getLength()); System.out.println("接收到的信息是:" + info); } }
服务端:
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 = null; DatagramPacket dp = null; // 构建发送对象 ds = new DatagramSocket(); // 将数据打包-->打成数据报 String info = "hello world!"; dp = new DatagramPacket(info.getBytes(), info.length(), InetAddress.getByName("localhost"),3333); // 发出数据报 ds.send(dp); } }
以上这篇浅谈java的TCP和UDP编程(附实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Java网络编程实例---------------------------------TCP和UDP发送数据统计
- java 网络编程【6】 用UDP编写网络聊天程序 以及 TCP编程实例
- JAVA中TCP/UDP编程实例
- Java网络编程:TCP和UDP
- Java 网络编程之 TCP/UDP
- Linux C Socket编程原理及tcp, udp简单实例
- java中TCP与UDP实例
- java网络编程(一) socket方式TCP和Datagram的UDP
- java TCP&UDP socket编程示例
- Java基础-网络编程(概述、网络模型、TCP和UDP)
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- Java用Socket类实现TCP,UDP编程
- JavaAPI之网络编程UDP/TCP简述及示例
- JAVA网络编程 TCP、UDP
- java:网络编程(InetAddress,InetSocketAddress,URL,TCP(Socket与SeverSocket),TCP与UDP的区别)
- java网络编程(TCP UDP)
- 实例讲解Java设计模式编程中如何运用代理模式
- 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤
- Java Socket编程实例(二)- UDP基本使用
- Java UDP网络编程 简单实例