您的位置:首页 > 移动开发 > 微信开发

UDP Socket基本思路小程序

2014-05-21 00:00 375 查看
摘要: 参考:传智播客毕老师Java基础视频
java网络编程基础 UDP Socket 接收端,发送端基本思路

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
* udp socket 接收端
*
* @author Administrator
*
*/
public class UDPRecive {

public static void main(String[] args) throws IOException {
System.out.println("------------接收端---------");
// 1、创建socket服务
DatagramSocket datagramSocket = new DatagramSocket(8888);
while (true) {
byte[] b = new byte[1024];
// 2、创建数据包用于存储接收到的数据
DatagramPacket dp = new DatagramPacket(b, b.length);
// 3、将接收的数据存入数据包
datagramSocket.receive(dp);
// 4、解析数据包中的数据
String ip = dp.getAddress().getHostAddress();
int port = dp.getPort();
String str = new String(dp.getData(), 0, dp.getLength());
System.out.println(ip + ":" + port + "== " + str);
}
}
}

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
* udp socket 发送端
*
* @author Administrator
*
*/
public class UDPSend {

public static void main(String[] args) throws IOException {
System.out.println("-----发送端-------");
// 1、建立udp的socket服务
DatagramSocket ds = new DatagramSocket(9999);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 获取键盘录入信息
String line = null;
while ((line = br.readLine()) != null) {
if ("end".equalsIgnoreCase(line)) {
break;
}
byte[] b = line.getBytes();
// 2、将要发送的数据封装到数据包中
DatagramPacket dp = new DatagramPacket(b, b.length,
InetAddress.getByName("127.0.0.1"), 8888);
// 3、通过udp的socket服务将数据包发送出去
ds.send(dp);
// 4、关闭socket服务
}
ds.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  udp socket