聊天室功能实现代码
来源:互联网 发布:python数据分析 编辑:程序博客网 时间:2024/05/16 02:55
功能模块设计
发送端打包发送:
public chat() throwsSocketException{
dp=new DatagramPacket(buf,buf.length);
ds=new DatagramSocket(3000);
thread =newThread(new Runnable()//定义一个匿名内部类,实例化Runnable对象的同时,创建线程
{
//重写run()
publicvoid run() {
while (true) {
try {
ds.receive(dp);//接收发送端的数据
String str = new String(dp.getData(), 0,dp.getLength());//读出发送端发送的有效长度
area.setText(area.getText()+"\n"+dp.getAddress().getHostAddress()+" say:" + str);//客户机对本机说的话,以字符串显示出来
} catch(IOException e) {
e.printStackTrace();
}
}
}
});
}
内部类监听,将数据写入文件:
classTlisttenerimplements ActionListener {
publicvoid actionPerformed(ActionEvent e) {
Filefile = new File("d:/s.txt");
FileOutputStreamout = null;
try {
out = newFileOutputStream(file,true);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
Strings = txt.getText().trim();
byte a[] = s.getBytes();
try {
out.write(a);
} catch (IOException e1) {
e1.printStackTrace();
}
area.setText(area.getText() + "\r\n"+ s);
try {
dp=new DatagramPacket(a, a.length,InetAddress.getByName(ip.getText()), 3001);//获取目标地址和端口号
ds.send(dp);//发送
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
((TextField) e.getSource()).setText("");
//清空
}
}
界面布局:
publicvoid createFrame() {
setLocation(700, 300);
setSize(300, 500);
buto.setSize(100, 40);
add(txt,BorderLayout.CENTER);
add(area,BorderLayout.NORTH);
add(ip,BorderLayout.WEST);
add(buto,BorderLayout.EAST);
ip.setText("127.0.0.1");
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
txt.addActionListener(new Tlisttener());//监听文本域
buto.addActionListener(new Tlisttener());//对按钮进行监听
setVisible(true);
- 聊天室功能实现代码
- 聊天室功能实现
- dwr实现聊天室功能
- java实现聊天室功能(包含全部代码,有界面)
- 消息队列实现聊天室功能
- java实现qq聊天室功能
- Redis实现多人多聊天室功能
- java nio实现聊天室功能
- websocket实现聊天室等功能
- websocket+tomcat实现聊天室功能
- 40行代码实现聊天室
- C++和flex实现聊天室功能
- C++和flex实现聊天室功能
- 聊天室的功能实现(主要部分)
- Tornado实现聊天室功能(websocket)
- 【linux】多进程实现聊天室功能
- 【转】用socket实现聊天室功能
- WebSocket jfinal 实现简单的聊天室功能
- test 我的文章为什么没有了
- Hdu 5480 Conturbatio
- string stringbuffer stringbuilder区别
- 为什么我delete后内存没有被释放?
- 【javaScript】基础知识
- 聊天室功能实现代码
- nyoj808蚂蚁的难题(八)【dp】
- Socket--java网络编程
- BFC环境(block formatting context块级格式化上下文)
- 简易计算器
- GCC使用__attribute__关键字
- JNI的开发
- the built-in function of reduce in python
- 从数据库把数据写入NetBeans表格中