遇到的问题:
现在每登录一个人,后面的人是能看到前面的登录的人的;
但是,前面的人看不到后面的人登录;
//后面每登录一个人,有责任去通知前面登录的人他已经上线了;
通知了完以后,需要更改好友在线的情况;
//不让同一个账号反复登录
//如果 好友不在线,则不能聊天
================================
[ManageQqChat.java]
/**
* 这是一个管理用户聊天界面的类
*/
package com.qq.client.tools;
import java.util.HashMap;
import com.qq.client.view.QqChat;
public class ManageQqChat {
private static HashMap hm=new HashMap<String,QqChat>();
//加入
public static void addQqChat(String loginIdAndFriendId,QqChat qqChat){
hm.put(loginIdAndFriendId, qqChat);
}
//取出
public static QqChat getQqChat(String loginIdAndFriendId){
return (QqChat)hm.get(loginIdAndFriendId);
}
}
20
1
/**
2
* 这是一个管理用户聊天界面的类
3
*/
4
package com.qq.client.tools;
5
6
import java.util.HashMap;
7
import com.qq.client.view.QqChat;
8
9
public class ManageQqChat {
10
private static HashMap hm=new HashMap<String,QqChat>();
11
12
//加入
13
public static void addQqChat(String loginIdAndFriendId,QqChat qqChat){
14
hm.put(loginIdAndFriendId, qqChat);
15
}
16
//取出
17
public static QqChat getQqChat(String loginIdAndFriendId){
18
return (QqChat)hm.get(loginIdAndFriendId);
19
}
20
}
***************************************************************
[ManageQqFriendList.java]
/**
* 管理qq好友、陌生人、黑名单界面类
*/
package com.qq.client.tools;
import java.util.HashMap;
import com.qq.client.view.QqFriendList;
public class ManageQqFriendList {
private static HashMap hm=new HashMap<String,QqFriendList>();
//加入
public static void addQqFriendList(String qqid,QqFriendList qqFriendList){
hm.put(qqid, qqFriendList);
}
//取出
public static QqFriendList getQqFriendList(String qqId){
return (QqFriendList)hm.get(qqId);
}
}
19
1
/**
2
* 管理qq好友、陌生人、黑名单界面类
3
*/
4
package com.qq.client.tools;
5
6
import java.util.HashMap;
7
import com.qq.client.view.QqFriendList;
8
9
public class ManageQqFriendList {
10
private static HashMap hm=new HashMap<String,QqFriendList>();
11
//加入
12
public static void addQqFriendList(String qqid,QqFriendList qqFriendList){
13
hm.put(qqid, qqFriendList);
14
}
15
//取出
16
public static QqFriendList getQqFriendList(String qqId){
17
return (QqFriendList)hm.get(qqId);
18
}
19
}
***************************************************************
com.qq.common
[Message.java]
/**
* 为Message规定规则
*/
package com.qq.common;
import java.io.Serializable;
public class Message implements Serializable{
private String mesType;
private String sender;
private String getder;
private String con;
private String sendTime;
public String getGetder() {
return getder;
}
public void setGetder(String getder) {
this.getder = getder;
}
public String getSender() {
return sender;
}
public void setSender(String sender) {
this.sender = sender;
}
public String getCon() {
return con;
}
public void setCon(String con) {
this.con = con;
}
public String getSendTime() {
return sendTime;
}
public void setSendTime(String sendTime) {
this.sendTime = sendTime;
}
public String getMesType() {
return mesType;
}
public void setMesType(String mesType) {
this.mesType = mesType;
}
}
45
1
/**
2
* 为Message规定规则
3
*/
4
package com.qq.common;
5
6
import java.io.Serializable;
7
8
public class Message implements Serializable{
9
private String mesType;
10
private String sender;
11
private String getder;
12
private String con;
13
private String sendTime;
14
15
public String getGetder() {
16
return getder;
17
}
18
public void setGetder(String getder) {
19
this.getder = getder;
20
}
21
public String getSender() {
22
return sender;
23
}
24
public void setSender(String sender) {
25
this.sender = sender;
26
}
27
public String getCon() {
28
return con;
29
}
30
public void setCon(String con) {
31
this.con = con;
32
}
33
public String getSendTime() {
34
return sendTime;
35
}
36
public void setSendTime(String sendTime) {
37
this.sendTime = sendTime;
38
}
39
public String getMesType() {
40
return mesType;
41
}
42
public void setMesType(String mesType) {
43
this.mesType = mesType;
44
}
45
}
***************************************************************
[MessageType.java]
/**
* 定义消息包的种类的接口
*/
package com.qq.common;
public interface MessageType {
String message_succeed="1";//登录成功包
String message_login_fail="2";//登录失败包
String message_comm_mes="3";//普通消息包
String message_get_onLineFriend="4";//要求在线的好友包
String message_ret_onLineFriend="5";//返回在线好友包
}
12
1
/**
2
* 定义消息包的种类的接口
3
*/
4
package com.qq.common;
5
6
public interface MessageType {
7
String message_succeed="1";//登录成功包
8
String message_login_fail="2";//登录失败包
9
String message_comm_mes="3";//普通消息包
10
String message_get_onLineFriend="4";//要求在线的好友包
11
String message_ret_onLineFriend="5";//返回在线好友包
12
}
***************************************************************
[User.java]
/**
* 这是用户信息类
*/
package com.qq.common;
import java.io.Serializable;
public class User implements Serializable{
private String userId;
private String passwd;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
22
1
/**
2
* 这是用户信息类
3
*/
4
package com.qq.common;
5
6
import java.io.Serializable;
7
public class User implements Serializable{
8
private String userId;
9
private String passwd;
10
public String getUserId() {
11
return userId;
12
}
13
public void setUserId(String userId) {
14
this.userId = userId;
15
}
16
public String getPasswd() {
17
return passwd;
18
}
19
public void setPasswd(String passwd) {
20
this.passwd = passwd;
21
}
22
}
***************************************************************
至此,韩顺平JAVA入门到精通(全94讲)视频到此完结。
笔记包含完整的视频PPT内容,及所有演示示例代码,和视频中所有作业答题。
学习注意:
视频教学内容简单易学,容易上手。对于JAVASE的内容讲解通俗易懂,不过深度不高,讲的较为浅显。主要是让学员对JAVASE有所了解,本人对视频印象深刻的为在企业开发中的注意事项,及开发软件的规则。对于需要全面了解学习JAVA的朋友来说,还需研读更深、更全面的JAVA书籍,及JAVA编程思想。从而对JAVA有全面的认识。
韩顺平讲师的后续视频笔记,将陆续放出。
原文地址:https://www.cnblogs.com/xuxaut-558/p/10047924.html