Java--UDP,接收方接收发送方的数据(单向)
2013-04-04 17:17
357 查看
Send(发送方):
Receive(接收方):
先启动接收方,再启动发送方
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; public class SendDemo1 { private static final int PORT = 8080; private static final String IP = "localhost"; public static void main(String[] args) { sendHandler(); } private static void sendHandler(){ DatagramSocket sendSocket = null; try { while(true){ //创建套接字 sendSocket = new DatagramSocket(); //键盘录入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String send = br.readLine(); byte[] buf = send.getBytes(); //设定数据包内容,长度,发送到的地址和端口 DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(IP), PORT); //发送数据包 sendSocket.send(dp); } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ if(sendSocket != null){ sendSocket.close(); } } } }
Receive(接收方):
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class ReceiverDemo1 { private static final int PORT = 8080; public static void main(String[] args) { receiveHandler(); } private static void receiveHandler() { DatagramSocket receiveSocket = null; try { //在8080端口监听 receiveSocket = new DatagramSocket(PORT); //while循环,一直在等待接收数据 while(true){ //创建一个包,并接收数据 byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, buf.length); receiveSocket.receive(dp); //取得IP地址和包里的数据内容 String ip = dp.getAddress().getHostAddress(); String data = new String(dp.getData(), 0, dp.getLength()); System.out.println(ip + ":" + data); } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ if(receiveSocket != null){ receiveSocket.close(); } } } }
先启动接收方,再启动发送方
相关文章推荐
- Java网络编程 UDP发送与接收数据
- Java udp 键盘录入方式接收数据
- Java_网络编程_使用UDP协议发送及接收数据
- java 网络 之 UDP接收数据 DatagramSocket
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
- java中socket发送数据接收数据(udp)
- JAVA Socket编程学习7--NIO同时接收TCP和UDP数据
- java——UDP发送和接收数据
- java实现PC之间的udp数据单向传输
- 黑马程序员--Java基础学习之网络编程(TCP、UDP、Socket、模拟发送和接收数据)
- JAVA---udp数据的发送与接收
- Java基础——实现UDP发送数据和接收数据
- 十.TCP与UDP发送和接收数据的简单实现
- java UDPSocket 简单示例2:将long类型发送并接收
- 10-socket的实践到内核--UDP的socket数据的接收
- 10-socket的实践到内核--UDP的socket数据的接收
- JAVA学习13_line.split("")的使用和解决ES接收数据不全的问题
- C#使用UdpClient发送和接收UDP数据示例 16进制与字符串互转
- Java中通过UDP协议发送和接受数据
- Java中以POST的方式发送和接收数据