UDP 无连接上机案例3.4
【摘要】
import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException; public class UDPSer...
-
import java.io.IOException;
-
import java.net.DatagramPacket;
-
import java.net.DatagramSocket;
-
import java.net.InetAddress;
-
import java.net.SocketException;
-
-
public class UDPServer {
-
public static void main(String[] args) {
-
//1.创建服务器端的DatagramSocket数据包,
-
try {
-
DatagramSocket datagramSocket=new DatagramSocket(8800);
-
//2.创建数据报,用于接受用户传送过来的数据;存放于字节数组;
-
byte[]bytes=new byte[1024];
-
DatagramPacket datagramPacket=new DatagramPacket(bytes,bytes.length);
-
System.out.println("*****服务器端已经启动****");
-
//使用receive方法接受;
-
datagramSocket.receive(datagramPacket);
-
//4.读取数据;
-
String info=new String(bytes,0,datagramPacket.getLength());
-
//5.输出信息;
-
System.out.println("服务器,客户端信息为:"+info);
-
//升级之后,服务器端响应客户端;
-
InetAddress address=datagramPacket.getAddress();
-
int port=datagramPacket.getPort();
-
byte[]sinfo="欢迎您".getBytes();
-
//升级2.创建数据报,包含socket信息;
-
DatagramPacket packet=new DatagramPacket(sinfo,sinfo.length,address,port);
-
// 升级3;
-
datagramSocket.send(packet);
-
//关闭资源;
-
datagramSocket.close();
-
} catch (SocketException e) {
-
e.printStackTrace();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
-
}
-
}
客户端代码:
-
import java.io.IOException;
-
import java.net.*;
-
-
public class UDPClient {
-
public static void main(String[] args) {
-
//1.定义服务器的地址、端口号、数据;
-
try {
-
InetAddress address=InetAddress.getByName("localhost");
-
int port=8800;
-
byte[]data="用户名:admin,密码:123".getBytes();
-
//2.创建数据报,包含发送的数据信息,可以使用带有4个参数的方法;
-
DatagramPacket datagramPacket=new DatagramPacket(data,data.length,address,port);
-
//3.创建DatagramSocket对象;
-
DatagramSocket datagramSocket=new DatagramSocket();
-
//4.向服务器发送数据;
-
datagramSocket.send(datagramPacket);
-
升级之后代码段;
-
byte[]data2=new byte[1024];
-
DatagramPacket packet2=new DatagramPacket(data2,data2.length);
-
//2.接受服务器响应的数据 ;
-
datagramSocket.receive(packet2);
-
//3.读取数据;
-
String reply=new String(data2,0,packet2.getLength());
-
System.out.println("我是客户端,服务器端说:"+reply);
-
//4.关闭资源;
-
datagramSocket.close();
-
} catch (UnknownHostException e) {
-
e.printStackTrace();
-
} catch (SocketException e) {
-
e.printStackTrace();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
-
}
服务端为:
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/88102224
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)