资源简介
用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个文件信息
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- websockets实现tomcat日志在线输出
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- hpsocket demo
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
评论
共有 条评论