Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用readline()获取并存储每2秒生成的字符串_Java_Sockets - Fatal编程技术网

Java 如何使用readline()获取并存储每2秒生成的字符串

Java 如何使用readline()获取并存储每2秒生成的字符串,java,sockets,Java,Sockets,如何使用readline()获取并存储每2秒生成的字符串?套接字编程 #接收器 try { while (true) { Socket socket = ss.accept(); InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr);

如何使用
readline()
获取并存储每2秒生成的字符串?套接字编程

#接收器

try {
  while (true) {
    Socket socket = ss.accept();
    InputStream is = socket.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    //payload = br.readLine();
    // payload = String.parseString(br.read(char getdata[],0, 65535));//valueOf(char)
    //br.reset();
    int payload_length = payload.length();
    System.out.println("Message sent from client: " + payload + ":: Length ::" + payload_length);
    if (payload_length == stringLength) {
      // for(int k=0;k>=s;k++){
      System.out.println("String length matching");
      String Query1 = "INSERT INTO RpiBuffer (string) values(?)"; //,(payload);
      pst1 = conn.prepareStatement(Query1);
      // pst1.setInt(1, id);
      pst1.setString(1, payload);
      //pst1.setInt(3,isSend);
      pst1.executeUpdate();
      System.out.println("Query 1 Executed::" + pst1);
      // }
    } else {
      System.out.println("String length not matching");
    }
    /* ---------------------------------------------------------------------*/
    OutputStream os = socket.getOutputStream();
    OutputStreamWriter osw = new OutputStreamWriter(os);
    BufferedWriter bw = new BufferedWriter(osw);
    //   bw.write(returnedMessage);
    bw.newLine();
    //  System.out.println("Message replied to client: "+returnedMessage);

    bw.flush();
    check_internet();
  }
} catch (IOException e) {
  System.out.println("Exception in receive_data())::" + e);
}
import java.io.*;
import java.net.*;
import java.util.concurrent.TimeUnit;

public class EchoClient {
    public static void main(String[] args) throws InterruptedException {

        String hostName = "127.0.0.1";
        int portNumber = 3002;
        int StringLength = 22;
        int i=0;
        while(true){    //for(i=0;i<99;i++){
            try {
                Socket echoSocket = new Socket(hostName, portNumber);
               // PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);
                BufferedReader in = new BufferedReader( new InputStreamReader(echoSocket.getInputStream()));
                BufferedWriter out= new BufferedWriter( new OutputStreamWriter(echoSocket.getOutputStream()));

                String s1="1231231231231231231234",s2="0001110001110001110001",s3="0101010101",s4="1111000011110000111100";

                out.write(s1);System.out.println("send data1 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s2);System.out.println("send data2 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s3);System.out.println("send data3 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s4);System.out.println("send data4 successfully????? ");TimeUnit.SECONDS.sleep(2);
               /* String userInput;
                while ((userInput = stdIn.readLine()) != null) {
                    out.println(userInput);
                    System.out.println("echo: " + in.readLine());
                }*/

            } catch (UnknownHostException e) {
                System.err.println("Don't know about host " + hostName);
               // System.exit(1);
            } catch (IOException e) {
                System.err.println("Couldn't get I/O for the connection to " +
                    hostName);
                //System.exit(1);
            }       
        }    
    }
}
#发送方

try {
  while (true) {
    Socket socket = ss.accept();
    InputStream is = socket.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    //payload = br.readLine();
    // payload = String.parseString(br.read(char getdata[],0, 65535));//valueOf(char)
    //br.reset();
    int payload_length = payload.length();
    System.out.println("Message sent from client: " + payload + ":: Length ::" + payload_length);
    if (payload_length == stringLength) {
      // for(int k=0;k>=s;k++){
      System.out.println("String length matching");
      String Query1 = "INSERT INTO RpiBuffer (string) values(?)"; //,(payload);
      pst1 = conn.prepareStatement(Query1);
      // pst1.setInt(1, id);
      pst1.setString(1, payload);
      //pst1.setInt(3,isSend);
      pst1.executeUpdate();
      System.out.println("Query 1 Executed::" + pst1);
      // }
    } else {
      System.out.println("String length not matching");
    }
    /* ---------------------------------------------------------------------*/
    OutputStream os = socket.getOutputStream();
    OutputStreamWriter osw = new OutputStreamWriter(os);
    BufferedWriter bw = new BufferedWriter(osw);
    //   bw.write(returnedMessage);
    bw.newLine();
    //  System.out.println("Message replied to client: "+returnedMessage);

    bw.flush();
    check_internet();
  }
} catch (IOException e) {
  System.out.println("Exception in receive_data())::" + e);
}
import java.io.*;
import java.net.*;
import java.util.concurrent.TimeUnit;

public class EchoClient {
    public static void main(String[] args) throws InterruptedException {

        String hostName = "127.0.0.1";
        int portNumber = 3002;
        int StringLength = 22;
        int i=0;
        while(true){    //for(i=0;i<99;i++){
            try {
                Socket echoSocket = new Socket(hostName, portNumber);
               // PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);
                BufferedReader in = new BufferedReader( new InputStreamReader(echoSocket.getInputStream()));
                BufferedWriter out= new BufferedWriter( new OutputStreamWriter(echoSocket.getOutputStream()));

                String s1="1231231231231231231234",s2="0001110001110001110001",s3="0101010101",s4="1111000011110000111100";

                out.write(s1);System.out.println("send data1 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s2);System.out.println("send data2 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s3);System.out.println("send data3 successfully????? ");TimeUnit.SECONDS.sleep(2);
                out.write(s4);System.out.println("send data4 successfully????? ");TimeUnit.SECONDS.sleep(2);
               /* String userInput;
                while ((userInput = stdIn.readLine()) != null) {
                    out.println(userInput);
                    System.out.println("echo: " + in.readLine());
                }*/

            } catch (UnknownHostException e) {
                System.err.println("Don't know about host " + hostName);
               // System.exit(1);
            } catch (IOException e) {
                System.err.println("Couldn't get I/O for the connection to " +
                    hostName);
                //System.exit(1);
            }       
        }    
    }
}

在Receiver sideQuestions寻求调试帮助(“此代码为什么不工作?”)中已经提到的目标ip和端口号必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。请在问题本身(即问题)中添加其他信息,而不是使用注释。同时,请修改格式,并添加一些文本,说明您面临的问题或出现的错误以及您已采取的措施。发件人发送
4字符串(即s1、s2、s3和s4)
30002端口上
加上一些延迟,我想分别捕获每个字符串,但在接收器端没有得到一个字符串。