import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.io.*;
import java.net.*;
public class ChatClient extends Frame{
TextField tf;
TextArea taSum;
Socket s;
//OutputStream os;
PrintStream ps;
BufferedReader br;
String name;
public static void main(String[] args) {
ChatClient cc=new ChatClient();
// cc.launchFrame();
cc.connect();
cc.launchFrame();
cc.receive();
}
public void launchFrame(){
setTitle("聊天室");
setBounds(new Rectangle(200,200,400,200));
setResizable(false);
setLayout(new BorderLayout());
tf=new TextField();
taSum=new TextArea("",8,50,TextArea.SCROLLBARS_VERTICAL_ONLY);
add(tf,BorderLayout.SOUTH);
add(taSum,BorderLayout.NORTH);
taSum.setEditable(false);
taSum.setBackground(Color.PINK);
tf.addActionListener(new tfMonitor());
this.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
try {
ps.close();
//os.close();
s.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setVisible(false);
System.exit(0);
}
});
pack();
setVisible(true);
}
class tfMonitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
ps.println(name+"说:"+tf.getText());
//taSum.append(name+tf.getText());
//taSum.append("\n");
tf.setText("");
}
}
public void connect(){
try {
s=new Socket("SkySmile",6666);
System.out.println("服务器连接成功!\n");
//os=s.getOutputStream();
ps=new PrintStream(s.getOutputStream());
br=new BufferedReader(new InputStreamReader(s.getInputStream()));
name=s.getLocalAddress().getHostName();
ps.println(name+"上线了!");
} catch (UnknownHostException e) {
System.out.println("IP地址错误!");
System.exit(-1);
} catch (IOException e) {
System.out.println("服务器连接失败!");
System.exit(-1);
}
}
public void receive(){
String str;
while(true){
try {
str=br.readLine();
if(str==null) break;
taSum.append(str+"\n");
} catch (IOException e) {
// TODO Auto-generated catch block
taSum.append("与服务器断开连接!");
try {
br.close();
ps.close();
s.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Chat0.2.rar (9个子文件)
Chat0.2
.project 383B
bin
ChatServer.class 1KB
ChatClient.class 4KB
ChatClient$1.class 970B
ChatClient$tfMonitor.class 1KB
ChatServer$Client.class 2KB
src
ChatServer.java 2KB
ChatClient.java 3KB
.classpath 232B
共 9 条
- 1
资源评论
- oyxs07012012-12-20如果单纯为了学习代码可以看看
skysmile007
- 粉丝: 13
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功