网络编程-udp通信
2016-08-14 11:25
399 查看
网络编程-udp通信
package com.it.www; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; class Send implements Runnable{ private DatagramSocket datagramSocket ; Send(DatagramSocket datagramSocket){ this.datagramSocket = datagramSocket; } @Override public void run() { // TODO Auto-generated method stub try { //创建一个字符输入流 InputStreamReader in = new InputStreamReader(System.in); //创建一个包装类,把字符流放到缓存中 BufferedReader buff = new BufferedReader(in); String line = null; while((line = buff.readLine()) != null) { if("885".equals(line)) break; byte[] dataLine = line.getBytes();// 字符串数据转化为字节数据 DatagramPacket datagramPacket = new DatagramPacket(dataLine, dataLine.length, InetAddress.getByName("127.0.0.1"), 10001); datagramSocket.send(datagramPacket); } datagramSocket.close(); } catch (Exception e) { // TODO: handle exception throw new RuntimeException("发送端失败"); } } } class Receive implements Runnable{ DatagramSocket datagramSocket ; public Receive(DatagramSocket datagramSocket) { // TODO Auto-generated constructor stub this.datagramSocket = datagramSocket; } @Override public void run() { // TODO Auto-generated method stub try { while(true) { byte[] data = new byte[1024]; //声明一个字节包,用来存放接收对方的数据 DatagramPacket datagramPacket = new DatagramPacket(data, data.length); //通古socket服务将收到的数据存到数据包中 datagramSocket.receive(datagramPacket); //获取对方的主机地址 System.out.println(datagramPacket.getAddress().getHostAddress()); //获取对方发送的数据 String dataString = new String(datagramPacket.getData(),0,datagramPacket.getLength()); System.out.println("dataString ="+dataString); } } catch (Exception e) { // TODO: handle exception throw new RuntimeException("接收失败"); } } } public class UdpCommunicate{ public static void main(String[] args) throws Exception { DatagramSocket sendDatagramSocket = new DatagramSocket(); DatagramSocket receivedDatagramSocket = new DatagramSocket(10001); new Thread(new Send(sendDatagramSocket)).start(); new Thread(new Receive(receivedDatagramSocket)).start(); } }
相关文章推荐
- java例程练习(网络编程[简单UDP通信试验])
- C编程之基于UDP的网络通信
- linux 网络编程:客户端与服务器通过TCP协议相互通信 + UDP
- Java网络编程之简单UDP通信
- java中的网络通信编程之UDP篇
- java例程练习(网络编程[简单UDP通信试验])
- UNIX环境高级编程学习之第十六章网络IPC:套接字 - 简单UDP Socket 通信
- UC编程之网络通信(TCP/UDP)
- Java网络编程四 非阻塞通信UDP
- python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
- Java中网络通信编程之UDP通信
- 网络通信编程demo1[Udp]
- Java 网络编程(六) 使用无连接的数据报(UDP)进行通信
- 网络编程--UDP通信
- Java TCP/UDP网络通信编程
- JAVA网络编程之UDP通信演示
- Java中的TCP/UDP网络通信编程
- Java中的TCP/UDP网络通信编程
- java中的网络通信编程之UDP篇
- 网络通信中标志通信进程、TCP三次握手四次撒手、TCP与UDP在socket编程中的区别