import java.DatagramPacket;
import java.io.Serializable;
import java.InetAddress;
public class QDatagramPacket implements Serializable
{
//定义操作的类型,type用于传递时,识别操作类型
//各种操作定义为类属性,在网络环境下传递
private int type;
public DatagramPacket dPacket=null; //由于数据报包类不能被继承,所以定义一个数据报包类的引用
//public static final int MESSAGESHOW_PIC_PERSONAL = 1;
// public static final int MESSAGESHOW_PHOTO = 2;
public static final int MESSAGESHOW_WORD_PERSONAL = 3; //私人聊天操作
public static final int MESSAGESHOW_WORD_GROUP = 4; //里聊天操作
// public static final int MESSAGESHOW_PIC_GROUP = 5;
//public static final int DATABASEHANDLE_FIND = 11;
//public static final int DATABASEHANDLE_DEAL = 12;
//public static final int DATABASEHANDLE_RESULT = 13;
//public static final int DATABASEHANDLE_FLAG = 14;
public static final int USER_INFO = 21; //用户信息操作
public static final int USER_LOGIN = 22; //用户登录操作
public static final int USER_REGISTER = 23; //用户注册操作
public static final int FIND_USER=31; //查好友操作
public static final int RETURN_USERINFO=32; //返回用户信息操作
public static final int FIND_GROUP=33; //查号操作
public static final int RETURN_GROUPINFO=34; //返回消息操作
public static final int JOIN_GROUP=35; //加入一个
public static final int RETURN_GROUPMEMBERS=36; //返回组中成员信息
public static final int MAKE_FRIENDS=37; //加好友操作
public static final int SYSTEM_INFO = 91; //系统消息
public static final int SYSTEM_ON_OR_OFFLINE = 92; // 判断是否在线
//两个构造函数
public QDatagramPacket(byte[] b,int length)
{
dPacket=new DatagramPacket(b,b.length);
}
public QDatagramPacket(byte[] b,int length,InetAddress add,int port)
{
qq好友查询 dPacket=new DatagramPacket(b,b.length,add,port);
}
//获得操作类型
public int getType()
{
pe;
}
//设置操作类型
public void setType(int type)
{
pe=type;
}
}
2.2.1功能分析
本系统要实现的功能如下:
1)注册
服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的账号(必须为6-10个字符),呢称,性别,籍贯,个人资料等,接受完毕后,便通过Jdbc-Odbc与后台数据库连接,然后向数据库添加记录。客户收到服务器返回的信息后,便打开主登陆窗口。
2)登陆
在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果成功,便打开主程序窗口。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢量(Vector)用以存储好友的呢称,号码。
3)私聊
私聊就是两个聊天。客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。例如服务器接收到一个A发给B的消息,先判断B是否已经在线,如果在线就将信息发送过去。B接收到A发来的信息,如果是未建立对话窗口,就询问是否建立对话,否则就丢弃信息。
发布评论