帮忙看看错在哪里,运行不报错,输入后没有运行结果
public class MyServer { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket server = new ServerSocket(5678); Socket client = server.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(client
.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
BufferedReader userin = new BufferedReader(new InputStreamReader(System.in));

while (true) {
String str = in.readLine();
str = userin.readLine();
if (str.equals("hello world!!")) {
out.println("welcome to you!!");
} else {
out.println("sorry!!");
}
out.flush();
//client.close();
if(str.equals("end"))
break;
}
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
public class MyClient { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// 客服端
Socket client = new Socket("127.0.0.1", 5678);
// 输入输出流
BufferedReader in = new BufferedReader(new InputStreamReader(client
.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
// 键盘输入
BufferedReader userin = new BufferedReader(new InputStreamReader(
System.in));
while (true) {
String str = userin.readLine();
// 把用户从键盘输入的,向服务器端输出
String s = in.readLine();
out.println(str);
// 从服务器端读入,并控制台输出
out.flush();
if (s.equals("end")) {
break;
}
System.out.println(s);
}
client.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}

解决方案 »

  1.   

    你服务端还是需要等待控制台输入
    String str = in.readLine();
    str = userin.readLine();
    是不是这里有问题
      

  2.   

    给你改一下public class MyServer {  /**
       * @param args
       */
      public static void main(String[] args) {
    // TODO Auto-generated method stub
        try {
          ServerSocket server = new ServerSocket(5678);      Socket client = server.accept();      BufferedReader in = new BufferedReader(new InputStreamReader(client
              .getInputStream()));
          PrintWriter out = new PrintWriter(client.getOutputStream());      while (true) {
            String str = in.readLine();
            System.out.println(str);
            if (str.equals("hello world!")) {
              out.println("welcome to you!!");
            }
            else {
              out.println("sorry!!");
            }
            out.flush();
    //client.close();
            if (str.equals("end"))
              break;
          }
          client.close();
        }
        catch (IOException e) {
    // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }}
    public class MyClient {  /**
       * @param args
       */
      public static void main(String[] args) {
    // TODO Auto-generated method stub
        try {
    // 客服端
          Socket client = new Socket("127.0.0.1", 5678);
    // 输入输出流
          BufferedReader in = new BufferedReader(new InputStreamReader(client
              .getInputStream()));
          PrintWriter out = new PrintWriter(client.getOutputStream());
    // 键盘输入
          BufferedReader userin = new BufferedReader(new InputStreamReader(
              System.in));
          while (true) {
            String str = userin.readLine();
    // 把用户从键盘输入的,向服务器端输出
            out.println(str);
    // 从服务器端读入,并控制台输出
            out.flush();
            if (str.equals("end")) {
              break;
            }
            String s = in.readLine();
            System.out.println(s);
          }
          client.close();
        }
        catch (UnknownHostException e) {
    // TODO Auto-generated catch block
          e.printStackTrace();
        }
        catch (IOException e) {
    // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }}