client用的是out.println(); 但是server收不到任何东西,在String s = in.readLine();这里设置断点发现这一句停住了 但是如果把ServerThread类的构造函数里的 BufferedReader in = new BufferedReader(..); PrintWriter out = new PrintWriter(..); 放到run()里面去,就可以收到client端发送的信息了somebody 并且在server和client都会有一个null异常,呵呵
是public void run() 跟踪整个过程发现一个有趣的现象,执行到String s = in.readLine()时 程序回到了serverThread的构造函数里的第一句,同时返回一个null异常 serverThread是server的内部类,somebody说这是因为实例化server时实例了serverThread类,而此时socket没有传进来,所以才有null 可是我是在main()里实例化serverThread的,那么构造函数的参数socket为null,它怎么实例化呢,毕竟我是在client向server发送信息后才会抛null,而且是双方都抛出null
应该是
public void run()吧.
但是server收不到任何东西,在String s = in.readLine();这里设置断点发现这一句停住了
但是如果把ServerThread类的构造函数里的
BufferedReader in = new BufferedReader(..);
PrintWriter out = new PrintWriter(..);
放到run()里面去,就可以收到client端发送的信息了somebody 并且在server和client都会有一个null异常,呵呵
跟踪整个过程发现一个有趣的现象,执行到String s = in.readLine()时
程序回到了serverThread的构造函数里的第一句,同时返回一个null异常
serverThread是server的内部类,somebody说这是因为实例化server时实例了serverThread类,而此时socket没有传进来,所以才有null
可是我是在main()里实例化serverThread的,那么构造函数的参数socket为null,它怎么实例化呢,毕竟我是在client向server发送信息后才会抛null,而且是双方都抛出null