import java.awt.*;import java.awt.event.*;import java.io.*;import java.lang.*;import java.net.*;public class HeartClient extendsFrame {/** 成员方法出场...*/
privateTextField tfText;privateTextArea taContent;privateSocket s;privateDataOutputStream dos;privateDataInputStream dis;/*** 注意,入口... ^^
*@paramargs*/
public static voidmain(String[] args) {newHeartClient().launchFrame();
}/*** Loading GU*/
public voidlaunchFrame(){
tfText= newTextField();
taContent= newTextArea();this.setSize(300,300);this.setLocation(300,300);this.tfText.addActionListener(newTFListener());this.add(tfText,BorderLayout.SOUTH);this.add(taContent,BorderLayout.NORTH);this.addWindowListener(newWindowAdapter(){
@Overridepublic voidwindowClosing(WindowEvent e) {
System.exit(0);
}});this.pack();this.connect();this.setVisible(true);
}/*** 我在努力地连接服务器中...*/
public voidconnect() {try{
s= new Socket("127.0.0.1",1720);
dos= newDataOutputStream(s.getOutputStream());
dis= newDataInputStream(s.getInputStream());new Thread(newSendThread()).start();//dos.writeUTF("Hello,i find u!");
} catch(UnknownHostException e) {
System.out.println("UnknownHostException");
e.printStackTrace();
}catch(IOException e) {
System.out.println("IOException");
e.printStackTrace();
}finally{//关闭啥尼...
}
}/*** 额不会傻等着tfText(TextField tfText的监听器类)*/
class TFListener implementsActionListener{privateString str;
@Overridepublic voidactionPerformed(ActionEvent e) {
str=tfText.getText().trim();
tfText.setText("");try{
dos.writeUTF(str);
}catch(IOException e1) {
System.out.println("IOException");
e1.printStackTrace();
}
}
}/*** 客户端接收消息的线程呦...
**/
class SendThread implementsRunnable{privateString str;private boolean iConnect = false;public voidrun(){
iConnect= true;
recMsg();
}/*** 消息,看招,哪里跑...(客户端接收消息的实现)
*@throwsIOException*/
public voidrecMsg() {try{while(iConnect){
str=dis.readUTF();
taContent.setText(str);
}
}catch(IOException e) {
e.printStackTrace();
}
}
}
}