国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

傳輸文本

2019-11-18 13:25:05
字體:
來源:轉載
供稿:網友

  下面要做的是將文本從閑聊服務器傳輸到顯示屏上。作這個工作
  最好的辦法是應用thread。thread隨套接口的打開和關閉而打開
  和關閉。thread能夠同時讀取相當大量的數據,在從套接口讀取
  數據和更新TextArea方面效率都很高。
  Chat.java:
  
  
  import java.applet.Applet;
  import java.awt.*;
  import java.net.Socket;
  import java.io.InputStream;
  
  public class Chat extends Applet implements Runnable {
  TextArea ta;
  TextField tf;
  Socket s;
  Thread t;
  
  public void init() {
  ta = new TextArea("",20,80);
  ta.setEditable(false);
  add(ta);
  
  tf = new TextField(80);
  add(tf);
  }
  
  public void start() {
  try {
  String host = getParameter("host");
  int port = Integer.parseInt(getParameter("port"));
  s = new Socket(host,port);
  t = new Thread(this);
  t.start();
  } catch(Exception e) {
  ta.appendText("applet error: "+e+"/n");
  }
  }
  
  public void stop() {
  try {
  t.stop();
  s.close();
  } catch(Exception e) {
  ta.appendText("applet error: "+e+"/n");
  }
  }
  
  public void run() {
  try {
  InputStream is = s.getInputStream();
  byte[] buf = new byte[200];
  
  while(true) {
  int avail = is.available();
  if(avail<1) avail=1;
  if(avail>buf.length) avail=buf.length;
  int bytes_read = is.read(buf,0,avail);
  ta.appendText(new String(buf, 0, 0, bytes_read));
  }
  } catch(Exception e) {
  System.err.PRint(e);
  }
  }
  
  public boolean handleEvent(Event e) {
  if(e.id==Event.ACTION_EVENT && e.target==tf) {
  ta.appendText(tf.getText()+"/n");
  tf.setText("");
  return true;
  }
  return false;
  }
  
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 朝阳县| 布拖县| 新和县| 东乡族自治县| 马尔康县| 封开县| 阳信县| 潢川县| 新和县| 宜兰市| 宝丰县| 三原县| 绥棱县| 靖远县| 藁城市| 汕头市| 秦安县| 萍乡市| 阜新| 镇康县| 荥阳市| 东兴市| 新乡市| 太保市| 上犹县| 抚远县| 会理县| 贵州省| 阿荣旗| 登封市| 封开县| 松潘县| 平泉县| 怀仁县| 台东县| 黎川县| 潞西市| 新邵县| 神农架林区| 安达市| 资阳市|