码迷,mamicode.com
首页 > 编程语言 > 详细

Java : java基础(5) Socket网络编程

时间:2018-10-14 14:15:54      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:udp协议   方法   get   color   个数   ddr   inpu   服务   output   

使用 DatagramSocket 创建一个 UDP协议的Socket, 用DatagramPacket创建一个数据包,可以指定ip和端口号以及包的数据,用socket.send()可以发送这个数据包,代码实例:

String str = "这是数据";
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);// 指定接收端口
socket.send(packet);
socket.close();

接收数据示例: 使用receive()方法接收数据包, getData() 获取字节数据.

DatagramSocket socket = new DatagramSocket(6666);// 指定本地端口
DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
socket.receive(packet);
byte[] arr = packet.getData();
System.out.println(new String(arr));
socket.close();

TCP协议的socket直接用 Socket类创建,例如: 可以直接用 getInputStream()获取输入流接收数据, 用getOutputStream()输出流发送

Socket socket = new Socket("127.0.0.1", 6666);
OutputStream os = socket.getOutputStream();
InputStream in = socket.getInputStream();

服务端需要使用 ServerSocket类来创建,使用accept()方法来获取一个请求的socket,剩下的操作也是一样.如:

ServerSocket serverSocket = new ServerSocket(6666);
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();

 

Java : java基础(5) Socket网络编程

标签:udp协议   方法   get   color   个数   ddr   inpu   服务   output   

原文地址:https://www.cnblogs.com/cccy0/p/9785548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!