你的客户端有没有用flush()方法

解决方案 »

  1.   

    public run()   ??
    应该是
    public void run()吧.
      

  2.   

    client用的是out.println();
    但是server收不到任何东西,在String s = in.readLine();这里设置断点发现这一句停住了
    但是如果把ServerThread类的构造函数里的
    BufferedReader in = new BufferedReader(..);
    PrintWriter out = new PrintWriter(..);
    放到run()里面去,就可以收到client端发送的信息了somebody 并且在server和client都会有一个null异常,呵呵
      

  3.   

    是public void run()
    跟踪整个过程发现一个有趣的现象,执行到String s = in.readLine()时
    程序回到了serverThread的构造函数里的第一句,同时返回一个null异常
    serverThread是server的内部类,somebody说这是因为实例化server时实例了serverThread类,而此时socket没有传进来,所以才有null
    可是我是在main()里实例化serverThread的,那么构造函数的参数socket为null,它怎么实例化呢,毕竟我是在client向server发送信息后才会抛null,而且是双方都抛出null
      

  4.   

    你的run方法中应该用while(true)来循环检测