首页 > 解决方案 > 在java中将一些字符串行发送到服务器(UDP)

问题描述

我尝试从我的客户端向服务器发送一个由一个数据报包中的一些行组成的字符串,我的问题是当我发送字符串时,只有第一行会发送到服务器,我想发送一行,然后在 10 秒后发送另一行还有一个,怎么解决???这是我发送字符串的客户端代码:

    String msge="null";
    String atCurrentLine = null;
     try (BufferedReader cl = new BufferedReader(
     new FileReader("Client1.txt"))) { 
     while ((atCurrentLine = cl.readLine()) != null) {
            msge=atCurrentLine;
    System.out.println(msge);

        } 


    } catch (IOException e) {
     e.printStackTrace();
  } 


    DatagramSocket skt = null;
    try {
      skt = new DatagramSocket();
      byte[] b = msge.getBytes();
      InetAddress host = InetAddress.getByName("localhost");   
      int cl = 6700;                       
      DatagramPacket request = new DatagramPacket(b,b.length,host,cl);  
      skt.send(request);                   

以及服务器接收的此代码:

     DatagramSocket skt = null;
    try {
       skt = new DatagramSocket(6700);
       byte [] buffer = new byte[1000];
        while (true) {                
          DatagramPacket request = new DatagramPacket(buffer,buffer.length);
          skt.receive(request);

          String [] arrayMsg = (new String(request.getData())).split("       ");
          sms=arrayMsg[0];
          System.out.println("received from client :"+arrayMsg[0]);

标签: javasocketsudpdatagramudpclient

解决方案


推荐阅读