资源简介
利用java编写的聊天室软件。软件包括服务端和客户端。连接成功后,有用户列表和聊天记录,每个用户都可以随时退出,随时加入,用户列表会做相应改变。聊天记录显示的是最新的聊天记录。当服务端关闭时,客户端就断开连接。服务端和客户端的独立性相对较好。
代码片段和文件信息
package sonyi.client;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
//启动客户端接收线程
public class StartClient {
public StartClient(Socket s) throws UnknownHostException IOException{
new Thread(new ReceiveClient(s)).start();
}
}
//客户端接收线程
class ReceiveClient implements Runnable{
private Socket s;
public ReceiveClient(Socket s) {
this.s = s;
}
public void run() {
try {
//信息接收流
BufferedReader brIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
while(true){
char info = (char)brIn.read();//读取信息流首字符,判断信息类型
String line = brIn.readLine();//读取信息流内容
if(info == ‘1‘){//代表发送的是消息
WindowClient.textMessage.append(line + “\r\n“); //将消息添加到文本域中
//设置消息显示最新一行,也就是滚动条出现在末尾,显示最新一条输入的信息
WindowClient.textMessage.setCaretPosition(WindowClient.textMessage.getText().length());
}
if(info == ‘2‘ || info == ‘3‘){//有新用户加入或退出,2为加入,3为退出
String sub = line.substring(1 line.length()-1);
String[] data = sub.split(““);
WindowClient.user.clearSelection();
WindowClient.user.setListData(data);
}
if(info == ‘4‘){//4代表服务端退出
WindowClient.link.setText(“连接“);
WindowClient.exit.setText(“已退出“);
WindowClient.socket.close();
WindowClient.socket = null;
break;
}
}
} catch (IOException e) {
JOptionPane.showMessageDialog(WindowClient.window “客户端已退出连接“);
}
}
}
//客户端发送信息类
class SendClient {
SendClient(Socket sobject messageString info) throws IOException{
String messages = info + message;
PrintWriter pwOut = new PrintWriter(s.getOutputStream()true);
pwOut.println(messages);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 299 2014-05-09 09:56 chatSoft\.classpath
文件 384 2014-05-09 09:45 chatSoft\.project
文件 598 2014-05-09 09:56 chatSoft\.settings\org.eclipse.jdt.core.prefs
文件 2239 2014-05-13 09:27 chatSoft\bin\sonyi\client\ReceiveClient.class
文件 1039 2014-05-13 09:27 chatSoft\bin\sonyi\client\SendClient.class
文件 570 2014-05-13 09:27 chatSoft\bin\sonyi\client\StartClient.class
文件 1108 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient$1.class
文件 1486 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient$2.class
文件 2165 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient$3.class
文件 717 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient$4.class
文件 749 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient$5.class
文件 4686 2014-05-13 09:27 chatSoft\bin\sonyi\client\WindowClient.class
文件 2477 2014-05-13 09:27 chatSoft\bin\sonyi\server\ReceiveServer.class
文件 1484 2014-05-13 09:27 chatSoft\bin\sonyi\server\SendServer.class
文件 2425 2014-05-13 09:27 chatSoft\bin\sonyi\server\StartServer.class
文件 1103 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer$1.class
文件 1644 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer$2.class
文件 1524 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer$3.class
文件 717 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer$4.class
文件 749 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer$5.class
文件 4751 2014-05-13 09:27 chatSoft\bin\sonyi\server\WindowServer.class
文件 2004 2014-05-13 09:27 chatSoft\src\sonyi\client\StartClient.java
文件 6265 2014-05-13 09:27 chatSoft\src\sonyi\client\WindowClient.java
文件 3673 2014-05-13 09:27 chatSoft\src\sonyi\server\StartServer.java
文件 6383 2014-05-13 09:27 chatSoft\src\sonyi\server\WindowServer.java
目录 0 2014-05-12 18:04 chatSoft\bin\sonyi\client
目录 0 2014-05-12 17:04 chatSoft\bin\sonyi\server
目录 0 2014-05-13 09:27 chatSoft\src\sonyi\client
目录 0 2014-05-13 09:27 chatSoft\src\sonyi\server
目录 0 2014-05-09 09:56 chatSoft\bin\sonyi
............此处省略8个文件信息
- 上一篇:黑马程序员java57期.txt
- 下一篇:编译原理词法分析器 java版
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 基于JSP学生成绩管理系统软件的开发
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
评论
共有 条评论