资源简介
本资源是本人前面发过的一个局域网聊天工具的升级版。主要在界面上进行了美化,并添加了语音聊天的功能。具体功能有:
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个文件信息
相关资源
- ChartDirector java版 包含破解文件和手册
- Java面向对象程序设计教程
- KTV点歌系统(JAVA+MYSQL)
- JAVA 权限管理系统源码
- JSP学生学籍管理系统源代码+论文+开题
- JavaService
- 深入理解Java虚拟机第2版mobi
- 微信支付3.3.7demo java+php
- Java EE 7 API文档 chm版
- WEB项目的仕样书设计书日本有意者请
- org.apache.poi JAR包
- java仙剑奇侠传游戏
- java调用微信企业号所有接口已经全部
- java多媒体技术彭波 孙一林
- java从数据库查询文件成Excel
- Java 1.5API 中文完整版卷1
- Open Flash Chart的应用(java),就是很炫
- 购物网站源码java
- Java网上拍卖系统
- Java-J2EE宠物医院源码完整含文档.rar
- RxJava+WebService
- 2019Java面试宝典常用技术知识-
- Java安全中文版
- Java多线程设计模式(含源代码、中文
- Selenium-java-2.53.1 jar包
- 快递系统毕业设计Java+MySQL+毕业论文
- JavaWeb版医药管理系统[中英文版]
- javaee学生信息管理系统课程设计
- 大学生网页设计期末作业动态网页.
- 微信公众号开发java版本含具体源码
评论
共有 条评论