📄 talkservice.java
字号:
package servertalk;
import java.net.Socket;
import java.util.List;
import java.util.ArrayList;
import java.util.StringTokenizer;
/**
* 汇总客户信息
*
*
*
* @author zhoujian
* @version 1.00
*/
public class TalkService
{
public final static int MSG_LOGIN = 1;
public final static int MSG_TEXT = 2;
static List lstInfo = new ArrayList();
public TalkService(){}
public static void procMsg(String msg, Socket cs)
throws Exception
{
List l = decode(msg);
int msgId = Integer.parseInt(l.get(0).toString());
//对于msg信息的内容分别处理
switch(msgId)
{
case MSG_LOGIN:
procMsgLogin(l,cs);
break;
case MSG_TEXT:
procMsgText(l,cs);
break;
}
}
private static void procMsgLogin(List l, Socket cs)
{
String qq = l.get(2).toString();
//收集客户登陆信息添加至列表中
TalkClientInfo ci = new TalkClientInfo(qq, cs);
lstInfo.add(ci);
}
private static void procMsgText(List l, Socket cs)
throws Exception
{ /* msg信息格式 2+LocalQQ+FriendQQ+信息 */
String qq = l.get(1).toString();
String friendQq = l.get(2).toString();
String msg = l.get(3).toString();
TalkClientInfo ci;//声明客户信息表准备调用
for(int i=0; i<lstInfo.size(); i++)
{
ci = (TalkClientInfo)lstInfo.get(i);
if(friendQq.equals(ci.getQq()))
{
msg = qq+":"+msg;
TcpSocket.send(ci.getCs(), msg); //将客户甲聊天信息发给在线的朋友
break;
}
}
}
private static List decode(String msg)
{/* msg=1+1+LocalQQ+LocalPassWord*/
List l = new ArrayList();
StringTokenizer st = new StringTokenizer(msg, "+");
while(st.hasMoreTokens())
{
l.add(st.nextToken());
}
return l;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -