广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州​Java网络中的Echo客户端是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-05-13分类:Java技术浏览:788


导读:​Java网络中的Echo客户端是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

Java网络中的Echo客户端是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

基于UDP套接字的Echo客户端

import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.UnknownHostException;public class Main {  public static void main(String[] args) throws Exception {
   DatagramSocket udpSocket = new DatagramSocket();
   String msg = null;
   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   System.out.print("Please enter a  message  (Bye  to quit):");    while ((msg = br.readLine()) != null) {      if (msg.equalsIgnoreCase("bye")) {        break;
     }
     DatagramPacket packet = Main.getPacket(msg);
     udpSocket.send(packet);
     udpSocket.receive(packet);
     displayPacketDetails(packet);
     System.out.print("Please enter a  message  (Bye  to quit):");
   }
   udpSocket.close();
 }  public static void displayPacketDetails(DatagramPacket packet) {    byte[] msgBuffer = packet.getData();    int length = packet.getLength();    int offset = packet.getOffset();    int remotePort = packet.getPort();
   InetAddress remoteAddr = packet.getAddress();
   String msg = new String(msgBuffer, offset, length);
   System.out.println("[Server at IP  Address=" + remoteAddr + ", port="
       + remotePort + "]: " + msg);
 }  public static DatagramPacket getPacket(String msg)      throws UnknownHostException {    int PACKET_MAX_LENGTH = 1024;    byte[] msgBuffer = msg.getBytes();    int length = msgBuffer.length;    if (length > PACKET_MAX_LENGTH) {
     length = PACKET_MAX_LENGTH;
   }
   DatagramPacket packet = new DatagramPacket(msgBuffer, length);
   InetAddress serverIPAddress = InetAddress.getByName("localhost");
   packet.setAddress(serverIPAddress);
   packet.setPort(15900);    return packet;
 }
}

上面的代码生成以下结果。

Please enter a message (Bye to quit):Byte

java7.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表