曾以为QQ很神秘
后来觉得QQ很简单,感觉无非就是一个QQ客户端发送一个消息到服务器,然后服务器将消息发送到指定QQ客户端
现在把当时想的过程画了下来
(大家别笑话我啊,当时真的就是这么想的,感觉很简单——其实,当自己去实现的时候,真的很复杂!!!)
还写了一些代码,不过还不能具体运行,仅仅是一个框架:
我把这些都放在QQ包内:
*****************************************************************
首先,定义了一个客户端接口——可能有点罗嗦,没有完全实现接口的作用
package QQ;
/**
这个接口的作用是用来实现客户端向服务器发送消息的接口。
*/
public interface QQClientInterface {
public void SendServerMessage();
public QQMessage ToFromQQServer();
}
****************************************************************
================================================================
****************************************************************
这是一个服务器的接口——貌似和上面的接口重复了!!!
package QQ;
/**
用来实现QQ服务器向QQ客户端发送消息,和接受QQ客户端发送来的消息
*/
public interface QQServerInterface {
public QQMessage SendMessageToQQClient(String QQName);
public void GetMessageFromQQClient();
}
****************************************************************
================================================================
****************************************************************
这里插入一个消息类QQMessage
package QQ;
/**
这个类专门用来存放QQClient和QQserver发送的消息。
*/
public class QQMessage {
private String FromQQName;
private String ToQQName;
public String getFromQQName() {
return FromQQName;
}
public void setFromQQName(String fromQQName) {
FromQQName = fromQQName;
}
public String getToQQName() {
return ToQQName;
}
public void setToQQName(String toQQName) {
ToQQName = toQQName;
}
****************************************************************
================================================================
****************************************************************
下面可以重点~\(≧▽≦)/~啦啦啦
这是QQ客户端的代码:
package QQ;
public class QQClient implements QQClientInterface {
private String QQName;
private QQMessage message;
public void SendServerMessage() {
/**
用来实现对QQ服务器发送消息(调用QQ服务器的接受消息的方法,将消息发送到服务器)
*/
}
public QQMessage ToFromQQServer() {
/**
隔一段时间向服务器发送一个消息,带有自己QQName的消息,然后QQ服务器检索,是否
有消息要传给这个QQ,如果有将消息传过来,并显示。
*/
return null;
}
public String getQQName() {
return QQName;
}
public void setQQName(String qQName) {
QQName = qQName;
}
public QQMessage getMessage() {
return message;
}
public void setMessage(QQMessage message) {
this.message = message;
}
}
****************************************************************
================================================================
****************************************************************
最后是服务器端的代码:
package QQ;
import java.util.HashMap;
import java.util.Map;
public class QQServer implements QQServerInterface {
Map<String,QQMessage> qqMessage = new HashMap<String,QQMessage>();
public QQMessage SendMessageToQQClient(String QQName) {
/**
QQServer要发送消息必须满足两个条件:
1. QQ客户端将自己的QQName发送给QQServer,然后根据自己的QQNameQQ服务器开始遍历qqMessage;
2. qqMessage的Values不是null。
如果QQMessage不为空,则将自己的V发送给QQName,否则返回Null;
*/
return null;
}
public void GetMessageFromQQClient() {
/**
QQServer接受消息,并将消息存放在qqMessage中
*/
}
}
****************************************************************
****************************************************************
暂时还没写出一个简单QQ程序,大家尽心等待!我一定会写出一个让自己满意的即时通讯程序!
posted on 2010-10-29 21:12
tovep 阅读(1282)
评论(6) 编辑 收藏