服务器端,先运行
package com.fenuang.udpservice;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class udpServicr {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
// 新建套接字对象 并绑定端口号
DatagramSocket socket = new DatagramSocket(9090);
// 创建一个空的数据包存储接受的数据
byte[] receive = new byte[1024];
DatagramPacket packet = new DatagramPacket(receive, receive.length);
int i = 1;
boolean flag = true;
while (flag) {
socket.receive(packet);
System.out.println(new String(receive, 0, packet.getLength()) + i++);
}
socket.close();
// E:\java\\fenuangworkspace\\udp\b\in>java
// com.fenuang.udpservice.udpcelent
}
}
客户端 使用命令行运行,
顺便普及下怎么使用命令行去运行eclipse编译后的文件
E:\java\\fenuangworkspace\udp\b\in>java com.fenuang.udpservice.udpcelent
到项目的bin文件夹下.包名.文件名
package com.fenuang.udpservice;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
/**
* 用户端,发射数据
*
* @author fenuang
*
*/
public class udpcelent {
public static void main(String[] args) throws Exception {
// 创建套接字对象
DatagramSocket socket = new DatagramSocket();
// 写入准备发送的数据
String data = "黄粲迪我爱你";
DatagramPacket packet = null;
for (int i = 1; i < 100; i++) {
// 把数据封装到数据包中
// 发送给制定ip的服务器
packet = new DatagramPacket(data.getBytes(), data.getBytes().length, InetAddress.getByName("192.168.0.109"),
9090);
/*
* DatagramPacket packet1 = new DatagramPacket(data.getBytes(),
* data.getBytes().length, InetAddress.getLocalHost(), 9090);
*/
// 发射数据
socket.send(packet);
}
// 关闭发射器
socket.close();
}
}