解决方案 »

  1.   

    1. 估计这个问题你问作者,作者 也未必能回答。这种服务器的代码也真心不是一般能用的。
    2.  writer.println(tf.getText());  相当于往服务器发送了 tf的文本框中的内容,加上回车换行
      

  2.   

    1.if(reader != null) reader.close; // 习惯性检查引用,然后关闭,有时候会出现你没有预测到的情况,使用了空引用,导致异常
    2.writer = new PrintWriter(socket.getOutputStream(), true); // 这句完成了PrintWriter对socket的OutStream的包装,然后操作writer就会将数据写入socket的OutStream,最终数据发出。
    3.这些内容最好看一遍Java基础的书,你就融汇贯通了
      

  3.   


    大神,还有个问题:
    下面的额的代码是 服务器 端 private void getClientMessage() 方法里面的
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息
    System.out.println("客户机:" + reader.readLine());

    }
    }
    我认为 既然使用了  while(true) 那么应该无限循环下去呀,为什么试行一次就跳出了?
    如果我把这段代码修改为:
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息

    System.out.println("123321");
    }
    }
    那么,会无限循环打印 123321  ,所以我推断:跳出的操作是 System.out.println("客户机:" + reader.readLine()); 完成的,但是System.out.println("客户机:" + reader.readLine());  怎么会有这个跳出功能那???
    感谢您的答复!!!
      

  4.   

    大神,还有个问题:
    下面的额的代码是 服务器 端 private void getClientMessage() 方法里面的
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息
    System.out.println("客户机:" + reader.readLine());}
    }
    我认为 既然使用了  while(true) 那么应该无限循环下去呀,为什么试行一次就跳出了?
    如果我把这段代码修改为:
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息System.out.println("123321");
    }
    }
    那么,会无限循环打印 123321  ,所以我推断:跳出的操作是 System.out.println("客户机:" + reader.readLine()); 完成的,但是System.out.println("客户机:" + reader.readLine());  怎么会有这个跳出功能那???
    感谢您的答复!!!
      

  5.   

    大神,还有个问题:
    下面的额的代码是 服务器 端 private void getClientMessage() 方法里面的
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息
    System.out.println("客户机:" + reader.readLine());}
    }
    我认为 既然使用了  while(true) 那么应该无限循环下去呀,为什么试行一次就跳出了?
    如果我把这段代码修改为:
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息System.out.println("123321");
    }
    }
    那么,会无限循环打印 123321  ,所以我推断:跳出的操作是 System.out.println("客户机:" + reader.readLine()); 完成的,但是System.out.println("客户机:" + reader.readLine());  怎么会有这个跳出功能那???
    感谢您的答复!!!
    你的try/catch在while(true)外,有异常就跳出来了。然后你再看客户端,是不是发了一次就断开了?
      

  6.   

    大神,还有个问题:
    下面的额的代码是 服务器 端 private void getClientMessage() 方法里面的
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息
    System.out.println("客户机:" + reader.readLine());}
    }
    我认为 既然使用了  while(true) 那么应该无限循环下去呀,为什么试行一次就跳出了?
    如果我把这段代码修改为:
    while (true) { // 如果套接字是连接状态
    if (reader.ready()) {
    // 获得客户端信息System.out.println("123321");
    }
    }
    那么,会无限循环打印 123321  ,所以我推断:跳出的操作是 System.out.println("客户机:" + reader.readLine()); 完成的,但是System.out.println("客户机:" + reader.readLine());  怎么会有这个跳出功能那???
    感谢您的答复!!!
    try/catch 一般是出现异常了。。捕捉看看