package com.study.java.net.test;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class SocketRecive {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
socket = new DatagramSocket(9001);
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf , buf.length);
socket.receive(packet);
String message = new String(buf, 0, buf.length);
System.out.println(message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (socket != null) {
socket.close();
}
}
}
}
假如上面的这个文件保存在D:\NEON_vision\workspace\java_study\src\com\study\java\net\test这个文件目录下面,那么现在要使用命令行的方式进行编译这个文件,如果还是按照没有命名空间的方式进行编译和运行的话会入坑的。
- javac -d D:\NEON_vision\workspace\java_study\src\com\study\java\net\test SocketRecive.java(*.java)
- javac -d . SocketRecive.java(*.java)(使用点代替当前目录)
以上两种编译下方式的运行方式: java com.study.java.net.test.SocketRecive
3.第三种编译方式编译到指定的位置:
比如:D:\myclasses
编译命令:javac -d D:\myclasses SocketRecive.java(*.java)
运行命令:set classpath=\myclasses ----(注意:这里只需要到包名的父目录,因为包名和类名是一个整体)
java com.study.java.net.test.SocketRecive
set classpath= -----清空classpath的配置