资源简介
本资源是本人前面发过的一个局域网聊天工具的升级版。主要在界面上进行了美化,并添加了语音聊天的功能。具体功能有:
1.采用了全新的界面风格(新增)
2.实现了基本文字聊天功能
3.实现了基本文件传送功能
4.实现了发送窗口抖动的功能
5.实现了语音聊天的功能(新增)
资源内容包括源程序和打包后的可执行jar文件,以及要用到的所有jar包;
代码保证可用,如有问题请留言,代码较规范,结构清晰,相信对学习java socket编程和swing界面开发的朋友有一定的帮助。
注:main函数在MainFrame类

代码片段和文件信息
package bean;
import org.apache.commons.codec.DecoderException;
import util.BasicUtils;
/**
* 消息协议格式:
* 包序号+命令字+用户名+‘:‘+主机名+‘:‘+消息正文
* 包序号:占8Byte,采用当前毫秒数转换为字节数组,这也是包的发送时间
* 命令字:即head字段,是长度为2的字符串;每个命令字在Global类中定义
* @author DELL
*
*/
public class Message {
private long seq; //包序号
private String userName;
private String hostName;
private String head; //消息头,表明消息的类型
private String data; //消息正文
public Message(){
}
public Message(String userNameString hostNameString head String message) {
this.seq = System.currentTimeMillis();
this.head = head;
this.data = message;
this.hostName = hostName;
this.userName = userName;
System.out.println(“====发送消息:“+seq+this.head+this.userName+“:“+this.hostName+“:“+this.data);
}
public Message(long seq String userNameString hostNameString head String message) {
this.seq = seq;
this.head = head;
this.data = message;
this.hostName = hostName;
this.userName = userName;
}
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public long getSeq() {
return seq;
}
public void setSeq(long seq) {
this.seq = seq;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getHostName() {
return hostName;
}
public void setHostName(String hostName) {
this.hostName = hostName;
}
public byte[] toBytes() throws DecoderException{
byte[] seqBytes = BasicUtils.longToByteArray(this.seq);
byte[] otherBytes = (this.head+this.userName+“:“+this.hostName+“:“+this.data).getBytes();
byte[] msgBytes = new byte[seqBytes.length+otherBytes.length];
for(int i=0;i if(i msgBytes[i] = seqBytes[i];
else
msgBytes[i] = otherBytes[i-seqBytes.length];
}
return msgBytes;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 417 2014-02-25 09:31 MyMessager2.1\.classpath
文件 389 2014-02-23 16:26 MyMessager2.1\.project
文件 598 2014-02-23 00:52 MyMessager2.1\.settings\org.eclipse.jdt.core.prefs
文件 2822 2014-02-25 09:31 MyMessager2.1\bin\bean\Message.class
文件 3192 2014-02-25 09:31 MyMessager2.1\bin\bean\TbMsg.class
文件 1552 2014-02-25 09:31 MyMessager2.1\bin\bean\User.class
文件 10240 2014-02-25 09:28 MyMessager2.1\bin\data\userdata.db
文件 453 2014-02-25 09:31 MyMessager2.1\bin\exception\MessageOverflowException.class
文件 8370 2014-02-25 09:31 MyMessager2.1\bin\handler\MessageReceiver.class
文件 4564 2014-02-25 09:31 MyMessager2.1\bin\handler\MessageSender.class
文件 3563 2014-02-25 09:31 MyMessager2.1\bin\handler\VoiceReceiver.class
文件 3709 2014-02-25 09:31 MyMessager2.1\bin\handler\VoiceSender.class
文件 25813 2014-02-21 23:38 MyMessager2.1\bin\images\1.jpg
文件 86994 2014-02-21 23:51 MyMessager2.1\bin\images\2.jpg
文件 781 2013-11-28 22:38 MyMessager2.1\bin\images\accept.png
文件 652 2013-06-20 21:15 MyMessager2.1\bin\images\accepting.png
文件 733 2013-11-28 22:22 MyMessager2.1\bin\images\add.png
文件 2035 2014-02-22 16:10 MyMessager2.1\bin\images\app48.png
文件 2942 2014-02-22 16:10 MyMessager2.1\bin\images\app64.png
文件 733 2013-11-30 13:38 MyMessager2.1\bin\images\basket_put.png
文件 738 2013-11-30 13:38 MyMessager2.1\bin\images\basket_remove.png
文件 789 2013-11-28 17:33 MyMessager2.1\bin\images\bell.png
文件 1308 2014-02-22 16:08 MyMessager2.1\bin\images\bell24.png
文件 745 2013-11-28 17:34 MyMessager2.1\bin\images\book_go.png
文件 773 2013-06-20 21:17 MyMessager2.1\bin\images\cancel.png
文件 587 2013-11-28 23:18 MyMessager2.1\bin\images\cancel2.png
文件 1124 2014-02-23 01:19 MyMessager2.1\bin\images\closemic24.png
文件 781 2013-11-28 22:38 MyMessager2.1\bin\images\completed.png
文件 1066 2013-06-18 18:36 MyMessager2.1\bin\images\computer.png
文件 715 2013-11-28 22:23 MyMessager2.1\bin\images\delete.png
............此处省略136个文件信息
相关资源
- pc与android通过usb socket实现手机通信
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- 局域网聊天程序,群聊。私聊。发文
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
评论
共有 条评论