酷!學園

技術討論區 => 程式討論版 => Java程式設計討論區 => 主題作者是: lokichoi 於 2005-01-22 01:17

主題: java OutputStream問題
作者: lokichoi2005-01-22 01:17
因為小弟的老師要我們去將一個
以command line式的chat room改做GUI式的chat room
但是小弟不知道怎樣把Fextfield的string放進OutputStream內send去server
誰可以教教我怎樣寫...
謝謝


這是connect去server的部份code.....
代碼: [選擇]

Socket eSock = null;
int echoPort = 157;
String hostname = "localhost";
           
   try {
   eSock = new Socket(hostname, echoPort);
   XFer toRemote=new XFer("outgoing",System.in,eSock.getOutputStream());
   XFer fromRemote=new XFer("incoming",eSock.getInputStream(),System.out);
   fromRemote.start();
   toRemote.start();
   } catch (UnknownHostException f) {
  System.err.println("Don't know about host: " + hostname);
      System.exit(1);
    } catch (IOException f) {
      System.err.println("IO error");
      System.exit(1);
   }



這是XFer內的code
代碼: [選擇]

import java.io.*;
import java.net.*;

class XFer extends Thread {
  String me;
  BufferedReader in;
  PrintWriter out;

  public XFer(String n, InputStream i, OutputStream o){
    in = new BufferedReader(new InputStreamReader(i));
    out = new PrintWriter(o,true);
    me=n;
  }
  public void run() {
    String line;
    try {
      line = in.readLine();
      while (line != null) {
        out.println(line);
        line = in.readLine();
      }
      sleep(500);
      out.close();
      System.err.println(me + " finished");
    } catch (IOException e) {
      System.err.println(me+" inputstream closed");
    } catch (Exception e) {
      System.err.println("Caught something else"); System.exit(1);
    }
  }
}

主題: java OutputStream問題
作者: powerouch2005-01-24 13:25
textField.getText() 可以取 TextField 的輸入的文字內容
可能要稍微修改一下程式架構