创建两个类 分别添加main方法 一个作为server类一个作为client类
客户端先发送再接收 服务器端先接收再发送
下面给你一个server和client的例子 你在基础上改一下就行了
client发送的时候发送三边值 server接收后 写一个计算三角形面积的函数 把接收到的三边值传入函数计算出结果作为数据返回到client端
/UDPServer
/
import javaio;
import javanet;
class UDPServer{
public static void main(String[] args)throws IOException{
DatagramSocket server = new DatagramSocket(5050);
byte[] recvBuf = new byte[100];
DatagramPacket recvPacket
= new DatagramPacket(recvBuf , recvBuflength);
serverreceive(recvPacket);
String recvStr = new String(recvPacketgetData() , 0 , recvPacketgetLength());
Systemoutprintln("Hello World!" + recvStr);
int port = recvPacketgetPort();
InetAddress addr = recvPacketgetAddress();
String sendStr = "Hello ! I'm Server";
byte[] sendBuf;
sendBuf = sendStrgetBytes();
DatagramPacket sendPacket
= new DatagramPacket(sendBuf , sendBuflength , addr , port );
serversend(sendPacket);
serverclose();
}
}/
UDPClient
/
import javaio;
import javanet;
class UDPClient{
public static void main(String[] args)throws IOException{
DatagramSocket client = new DatagramSocket();
String sendStr = "Hello! I'm Client";
byte[] sendBuf;
sendBuf = sendStrgetBytes();
InetAddress addr = InetAddressgetByName("127001");
int port = 5050;
DatagramPacket sendPacket
= new DatagramPacket(sendBuf ,sendBuflength , addr , port);
clientsend(sendPacket);
byte[] recvBuf = new byte[100];
DatagramPacket recvPacket
= new DatagramPacket(recvBuf , recvBuflength);
clientreceive(recvPacket);
String recvStr = new String(recvPacketgetData() , 0 ,recvPacketgetLength());
Systemoutprintln("收到:" + recvStr);
clientclose();
}
}你在控制台 测试服务器程序是么
其实定个参数就行了 servlet中 就是 String a = requestgetParameter(name)
如果控制台测试 就用Scanner
Scannr input = new Scanner(Systemin)
在while(true)中间加入判断
Systemoutprint("请输入:")
String a = inputnext();
if("end"equals(a)){
break;
}
当输入end的时候 就会结束 否则一直循环
希望能帮到你 谢谢
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)