package chat.jiji073bd.进程通信;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class ChatClient extends Frame{
//设置输入框
TextField tf = new TextField();
//设置显示框
TextArea ta = new TextArea();
//设置发送按键
Button button = new Button("send");
Socket socket = null;
DataOutputStream dos = null;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new ChatClient().launchFrame();
}
public void launchFrame(){
//设置窗口的名字
this.setTitle("客户端");
//设置窗口的位置
this.setLocation(400, 400);
//设置窗口的大小
this.setSize(400, 200);
this.add(tf, BorderLayout.CENTER);
this.add(ta, BorderLayout.NORTH);
this.add(button, BorderLayout.EAST);
TextFieldListener tfl = new TextFieldListener();
tf.addActionListener(tfl);
button.addActionListener(tfl);
this.addWindowListener(new Adapter());
//把窗口显示出来
this.setVisible(true);
this.connection();
}
private class Adapter extends WindowAdapter{
public void windowClosing(WindowEvent arg0){
disconnection();
System.exit(0);
}
}
private class TextFieldListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
String text = tf.getText().trim();
ta.setText(text);
try {
dos.writeUTF(text);
dos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tf.setText("");
}
}
public void connection(){
try {
Socket socket = new Socket("113.64.31.164",1234);
dos = new DataOutputStream(socket.getOutputStream());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void disconnection(){
try {
dos.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
操作系统的进程通讯Java实现
共10个文件
class:5个
java:2个
prefs:1个
3星 · 超过75%的资源 需积分: 10 50 下载量 6 浏览量
2010-06-07
00:41:19
上传
评论 3
收藏 10KB ZIP 举报
温馨提示
Java模拟操作系统(内存管理,进程管理,文件管理,进程通信) 电子书手册 Java模拟操作系统(内存管理,进程管理,文件管理,进程通信) 电子书手册 Java模拟操作系统(内存管理,进程管理,文件管理,进程通信) 电子书手册
资源推荐
资源详情
资源评论
收起资源包目录
.zip (10个子文件)
进程通信
bin
chat
jiji073bd
进程通信
ChatServer$Client.class 2KB
ChatClient$TextFieldListener.class 2KB
ChatServer.class 2KB
ChatClient$Adapter.class 947B
ChatClient.class 3KB
.settings
org.eclipse.jdt.core.prefs 629B
src
chat
jiji073bd
进程通信
ChatClient.java 2KB
ChatServer.java 2KB
.project 388B
.classpath 301B
共 10 条
- 1
Allsochen
- 粉丝: 19
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页