菜鸟求救  
       String packet = "20060516011959000002110208190100013368854299";
         Socket socket = new Socket("10.86.22.38", 7777);
         socket.setSoTimeout(3000);//socket超时设置         
         try {
            BufferedReader inSocket = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter outSocket = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
            outSocket.println(packet);           
            String  str = inSocket.readLine(); //每次返回的都是Null 接口调试没有啥问题 请怎么样才能取到soket返回的数据?
        }
        finally {
            System.out.println("closing...");
            socket.close();
        }

解决方案 »

  1.   

    PrintWriter outSocket = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
                outSocket.println(packet);              // 在这里加一句
                outSocket.flush();
                ...
      

  2.   

    UnAgain() 加了outSocket.flush();这条语句换是不行呀 打印结果换是空!
      

  3.   

    因为接收用了readLine方法,inSocket.readLine(); 服务端发送时要用println或者是显示的给一个换行符,再flush应该就可以了。
      

  4.   

    String packet = "20060516011959000002110208190100013368854299";
    outSocket.println(packet);     
    已经向服务端发送了包了
      

  5.   

    coolarmy(bb考拉猪) 服务器端接收到了包