📄 work.java
字号:
objMsg.setOrder(setting.Command.friendliveline);
objMsg.setDestID(userfriendInfo.getID());
objMsg.setSourceID(exituser.getID());
objMsg.setObjMessage(userfriendInfo);
serve.sendpersonal(userfriendInfo.getID(), objMsg);
}
}
}
try {
runFlag=false;
netIn.close();
netOut.close();
socket.close();
} catch (IOException e) {
System.out.println("关闭连接异常");
}
}
}
/**
* 接收用户添加好友相关信令
*/
public void addFriend(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.addfriend))//由Client的addFriend()发出
{
User userInfo=new User();//实例化一个新的userInfo
User user=new User();
int userOtherid=objMsg.getDestID();//得到被加的人的号码
userInfo=serve.readUserDBbyID(objMsg.getSourceID());
for(int i=0;i<userInfo.getFriend().size();i++)//好友已经添加了不能再添加的判断
{
user=(User)userInfo.getFriend().elementAt(i);//遍历得到朋友的ID
if(userOtherid==user.getID())
{
//提示用户次用户已经是你的好友
objMsg.setOrder(setting.Command.addfriendreapt);
objMsg.setObjMessage(userInfo);
objMsg.setDestID(userInfo.getID());
send(objMsg);//传给自己
return;
}
}
user=serve.readUserDBbyID(userOtherid);
if(objMsg.getDestID()!=user.getID())
{
//不存在 或用户不在线 则发送信息告诉客户
objMsg.setOrder(setting.Command.addfriendisnotexist);
send(objMsg);
return;
}
//被请求添加的用户必须在线而且好友ID存在
if(objMsg.getDestID()==user.getID()&&user.getStatus()==0)
{
objMsg.setOrder(setting.Command.addfriendqueren);
objMsg.setObjMessage(user);//把查找到的用户信息发过去
serve.sendpersonal(user.getID(), objMsg);
return;
}
else
{
//不存在 或用户不在线 则发送信息告诉客户
objMsg.setOrder(setting.Command.addfriendisnotonline);
serve.sendpersonal(userInfo.getID(), objMsg);
}
}
//向被加的人发送加的人的确认信息再把对方加为入好友列表
if(order.equals(setting.Command.addfriendtongyi))
{
User userOther=new User();
User userInfo=new User();
userOther=(User)objMsg.getObjMessage();// 被加人的信息
userInfo=serve.readUserDBbyID(objMsg.getSourceID());
userInfo.addFriend(userOther);//添加自己的好友
serve.saveDB(userInfo);
objMsg.setFriendID(userOther.getID());//发过去以便保存在自己在线好友列表中
objMsg.setOrder(setting.Command.addfriendtongyi);
objMsg.setObjMessage(userInfo);//把自己的信息发过去以便获取好友信息
serve.sendpersonal(userInfo.getID(), objMsg);
}
if(order.equals(setting.Command.addfriendagin))
{
User userother=new User();//为了读取被加的这这好友的的好友信息是否包括我
User userInfo=new User();
userother =serve.readUserDBbyID(objMsg.getDestID());
if(userother.getFriend().size()>0)
{
for(int i=0;i<userother.getFriend().size();i++)
{
userInfo=(User)userother.getFriend().elementAt(0);
if(userInfo.getID()==objMsg.getSourceID())
{
return;//如果目标ID的好友中有我则不需要再发送
}
}
}
objMsg.setOrder(setting.Command.addfriendaginqueren);
serve.sendpersonal(objMsg.getDestID(), objMsg);//接受到信息的是
}
if(order.equals(setting.Command.addfriendagintongyi))
{
User userOther=(User)objMsg.getObjMessage();// 被加人的信息
User userInfo=new User();
userInfo=serve.readUserDBbyID(objMsg.getDestID());
userInfo.addFriend(userOther);//添加自己的好友
serve.saveDB(userInfo);
objMsg.setOrder(setting.Command.addfriendaginflush);
objMsg.setFriendID(objMsg.getSourceID());//设置好友
serve.sendpersonal(objMsg.getDestID(), objMsg);
}
if(order.equals(setting.Command.addfriendbutongyi))
{
objMsg.setOrder(setting.Command.addfriendbutongyi);
serve.sendpersonal(objMsg.getSourceID(), objMsg);
}
}
/**
* 接收用户聊天信令
*/
public void personchat(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.personchat))
{
User destuser=serve.readUserDBbyID(objMsg.getDestID());
if(serve.isOnline(destuser));//检查对方是否在线
{
objMsg.setOrder(setting.Command.personchatsuccess);
serve.sendpersonal(objMsg.getDestID(),objMsg);
}
if(!serve.isOnline(destuser))//不在线还要告诉对方
{
objMsg.setOrder(setting.Command.personchatfail);//给自己说的
serve.sendpersonal(objMsg.getSourceID(),objMsg);
//保存信息
destuser.setLiuyan(true);
destuser.setLiuyanmsg((String)objMsg.getObjMessage());
destuser.setLiuyanid(objMsg.getSourceID());
serve.modifyUserInfo(destuser);
}
}
}
/**
* 密送消息请求
*/
public void Inerchat(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.Inchat))
{
User detuser=serve.readUserDBbyID(objMsg.getDestID());
if(serve.isOnline(detuser));//检查对方是否在线
{
objMsg.setOrder(setting.Command.Inchatque);
serve.sendpersonal(objMsg.getDestID(),objMsg);
}
if(!serve.isOnline(detuser))//不在线还要告诉对方
{
objMsg.setOrder(setting.Command.Inchatfail);//给自己说的
serve.sendpersonal(objMsg.getSourceID(),objMsg);
}
}
}
/**
* 收到企业消息
*/
public void Inerchatflish(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.inchatflish))
{
objMsg.setOrder(setting.Command.Inchatyes);
serve.sendpersonal(objMsg.getSourceID(),objMsg);
}
if(order.equals(setting.Command.Inchatok))
{
id = objMsg.getDestID();
objMsg.setOrder(setting.Command.Inchatsuc);
serve.sendpersonal(objMsg.getDestID(),objMsg);
}
if(order.equals(setting.Command.chatverfail))
{
objMsg.setOrder(setting.Command.Inchatfail1);//给自己说的
serve.sendpersonal(id,objMsg);
}
}
/**
* 接收用户删除好友信令
*/
public void delfriend(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals("删除好友"))
{
User userInfo=new User();
userInfo=serve.readUserDBbyID(objMsg.getSourceID());//根据源ID读出数据
if(serve.delfriend(userInfo,objMsg.getDestID()))
{
objMsg.setOrder(setting.Command.delfriendsuccess);
objMsg.setObjMessage(userInfo);
send(objMsg);
}else
{
objMsg.setOrder(setting.Command.delfriendfail);
objMsg.setObjMessage(userInfo);
send(objMsg);
}
}
}
/**
* 接收用户取留言的信令
*/
public void checkliuyan(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.checkfriendliuyan))
{
User liuuser=new User();
liuuser=serve.readUserDBbyID(objMsg.getSourceID());
if(liuuser.isLiuyan())
{
objMsg.setOrder(setting.Command.yesliuyan);
objMsg.setObjMessage(liuuser);
send(objMsg);
liuuser.setLiuyan(false);
}else
{
objMsg.setOrder(setting.Command.noliuyan);
objMsg.setObjMessage(liuuser);
send(objMsg);
}
serve.modifyUserInfo(liuuser);
}
}
/**
* 接收用户修改用户信息信令
*/
public void modifyUserInfo(Embody objMsg)
{
String order = objMsg.getOrder();
if (order.equals(setting.Command.modifyusrinfo))
{
serve.modifyUserInfo((User)objMsg.getObjMessage());
objMsg.setDestID(objMsg.getSourceID());
objMsg.setObjMessage(serve.readUserDBbyID(objMsg.getSourceID()));
objMsg.setOrder(setting.Command.modifyusrinfosuccess);
send(objMsg);
}
}
/**
* 查询好友信息信令
*/
public void checkFreindInfo(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.checkfriendinfo))
{
objMsg.setObjMessage(serve.readUserDBbyID(objMsg.getDestID()));
objMsg.setOrder(setting.Command.checkfriendinfo);
send(objMsg);
}
}
/**
* 查询好友IP
*/
public void checkFreindIP(Embody objMsg)
{
String order=objMsg.getOrder();
if(order.equals(setting.Command.checkfriendIP))
{
objMsg.setObjMessage(serve.readUserDBbyID(objMsg.getDestID()));
objMsg.setOrder(setting.Command.checkfriendIP);
send(objMsg);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -