⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdatagramsocket.java

📁 本书是一本为Java学习者在基础内容学习结束后进行课程设计时提供参考的指导书
💻 JAVA
字号:
package apibook.c5.s1;import java.net.*;import java.io.*;//测试DatagramSocket类class EchoServer extends Thread {    private DatagramSocket sock = null;    EchoServer(int port) {        try {//建立数据包socket            sock = new DatagramSocket(port);        } catch (SocketException e) {            e.printStackTrace();        }    }    public void run() {        if (sock == null)            return;//如果socket没有建立,则返回        byte[] inbuf = new byte[1024];//缓冲区        DatagramPacket request = new DatagramPacket(inbuf, inbuf.length);        try {            while (true) {//循环收发                sock.receive(request);//接收                sock.send(request);//发送            }        } catch (IOException e) {            e.printStackTrace();        }    }}public class TestDatagramSocket {  static int echo_port = 1234;  public TestDatagramSocket() {  }public static void echo(String msg, DatagramSocket client) {  byte[] inbuf = new byte[1024];  // 缓冲区  byte[] outbuf = msg.getBytes(); //发送的内容  try {      DatagramPacket request = new DatagramPacket(outbuf, outbuf.length);      DatagramPacket reply = new DatagramPacket(inbuf, inbuf.length);      client.send(request);//发送      client.receive(reply);//接收      client.close();//关闭      System.out.println(new String(reply.getData()));//输出接收的结果  } catch (SocketException e) {      e.printStackTrace();  } catch (IOException e) {      e.printStackTrace();  }}  public static void main(String[] args) {    String msg= "";    if (args.length != 1) {        msg = "test for DatagarmSocket";    }    else      msg = args[0];    //开始    EchoServer srv = new EchoServer(echo_port);    srv.setDaemon(true);    srv.start();    try {        InetAddress dst = InetAddress.getLocalHost();        DatagramSocket dest = new DatagramSocket();        dest.connect(dst, echo_port);        System.out.println("remote addr: " + dest.getInetAddress());        System.out.println("remote port: " + dest.getPort());        echo(msg, dest);        dest.disconnect();        System.out.println("disconnected addr: " + dest.getInetAddress());        System.out.println("disconnected port: " + dest.getPort());    } catch (UnknownHostException e) {        System.err.println("Host not found: " + e);    } catch (SocketException e) {        e.printStackTrace();    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -