Java套接字,客户端从服务器输出获取输入时挂起

时间:2015-05-15 09:20:03

标签: java sockets

我在客户端有一个套接字,连接到服务器发送和接收String,使用writeUTF()和readUTF()来读取和写入套接字,当我从客户端写入一个字符串到套接字并在服务器上读取它们然后它的工作。但是当服务器从套接字接收字符串并写入" flag"套接字在客户端读取它们然后客户端挂在读取行。这是我的代码。

服务器

public void run(){
    DataInputStream input = null;
    try{
        output = new DataOutputStream(socket.getOutputStream());
        input = new DataInputStream(socket.getInputStream());
        while((true)&&(this.active)){
            String receive = input.readUTF();               
            String[] str = receive.split("@");
            if (str[0].equals("get_list")){                    
                output.writeUTF("flag");                  
            }

        }
    }catch(IOException ex){
    }

客户端

public void run(){
   DataOutputStream output = null;
    try{
        output = new DataOutputStream(socket.getOutputStream());
        DataInputStream input = new DataInputStream(socket.getInputStream());
        output.writeUTF("get_list@");          
        String receive = input.readUTF();   //Hang at this line
        System.out.println(receive);
    } catch (IOException ex) {
    }

0 个答案:

没有答案