资源简介

用java socket编写的局域网聊天和文件传送,类似飞秋,但没那么多功能,目前实现的功能有:聊天,发送窗口抖动,传送文件,其中传送文件采用TCP实现,其他的用UDP实现。本文件包含源代码和用到的jar包,代码结构清晰,注释较多,相信对于学习java网络编程(以及swing界面开发)的朋友会有一定的帮助

资源截图

代码片段和文件信息

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+“ “+head+“ “+message+“ “+hostName+“ “+userName);
}

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;
}


}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        423  2013-12-01 12:56  MyMessager\.classpath

     文件        386  2013-12-01 13:04  MyMessager\.project

     文件        598  2013-11-30 22:50  MyMessager\.settings\org.eclipse.jdt.core.prefs

     文件       2828  2013-12-08 01:16  MyMessager\bin\bean\Message.class

     文件       3192  2013-12-08 01:16  MyMessager\bin\bean\TbMsg.class

     文件       1552  2013-12-08 01:16  MyMessager\bin\bean\User.class

     文件       7082  2013-12-08 01:16  MyMessager\bin\db\DBUtils.class

     文件        453  2013-12-08 01:16  MyMessager\bin\exception\MessageOverflowException.class

     文件       6713  2013-12-08 01:16  MyMessager\bin\handler\MessageReceiver.class

     文件       3781  2013-12-08 01:16  MyMessager\bin\handler\MessageSender.class

     文件        781  2013-11-28 22:38  MyMessager\bin\images\accept.png

     文件        652  2013-06-20 21:15  MyMessager\bin\images\accepting.png

     文件        733  2013-11-28 22:22  MyMessager\bin\images\add.png

     文件        733  2013-11-30 13:38  MyMessager\bin\images\basket_put.png

     文件        738  2013-11-30 13:38  MyMessager\bin\images\basket_remove.png

     文件        789  2013-11-28 17:33  MyMessager\bin\images\bell.png

     文件        745  2013-11-28 17:34  MyMessager\bin\images\book_go.png

     文件        773  2013-06-20 21:17  MyMessager\bin\images\cancel.png

     文件        587  2013-11-28 23:18  MyMessager\bin\images\cancel2.png

     文件        781  2013-11-28 22:38  MyMessager\bin\images\completed.png

     文件       1066  2013-06-18 18:36  MyMessager\bin\images\computer.png

     文件        715  2013-11-28 22:23  MyMessager\bin\images\delete.png

     文件        725  2013-11-28 17:25  MyMessager\bin\images\emotion_smile.png

     文件        575  2013-11-28 19:35  MyMessager\bin\images\file.png

     文件        778  2013-11-28 15:23  MyMessager\bin\images\information.png

     文件        576  2013-06-21 22:19  MyMessager\bin\images\refresh.png

     文件        652  2013-06-20 21:15  MyMessager\bin\images\send.png

     文件       1975  2013-11-30 12:25  MyMessager\bin\images\sending.gif

     文件        551  2013-11-28 15:32  MyMessager\bin\images\shake.png

     文件       1935  2013-11-30 19:05  MyMessager\bin\images\user2_48.png

............此处省略95个文件信息

评论

共有 条评论