客户请求每隔三分之一就被接受一次?

时间:2018-09-10 19:13:57

标签: java sockets server tcpclient

我正在构建一个TCP服务器。我正在使用TelNet将客户端连接到服务器。服务器具有一个处理请求的worker方法。在handle方法中,我传递客户端输入(此方法有效),并查看其是否与我给定的协议匹配。奇怪的是,if语句仅接收第一个命令,然后仅接收第三个命令。

代码EX:

    out = new PrintWriter(this.client.getOutputStream(), true);

    in = new BufferedReader(new InputStreamReader(this.client.getInputStream()));

    String read;

    while(!(read = in.readLine()).equals("Bye")) 
    {

        if(read.equals("getTime")) //M1 Method
        {
            out.println(Worker.time());
            //read = in.readLine();

        }
        else if(read.equals("Punch"))
        {
            out.println("you've been punched");
            //read = in.readLine();
        }

    }

我假设每次将输入设置为一个值时,我都必须将其重置(每种方法中的注释行)。

端子输出:

gsp19 319%telnet本地主机1024

正在尝试127.0.0.1 ...

已连接到本地主机。

转义字符为'^]'。

getTime 2018年9月10日星期一15:05:38 EDT

getTime getTime getTime 美国东部时间2018年9月10日15:05:43

getTime getTime getTime 美国东部时间2018年9月10日15:05:48

getTime getTime getTime 美国东部时间2018年9月10日15:05:54

打孔 冲床 再见 您已断开连接。

连接被外部主机关闭。

0 个答案:

没有答案