分类:
2010-03-01 19:11:19
服务端代码:Server5.java
知识点:
实现在线列表的思路:每当有新的用户登陆的时候就像服务器发送用户名,服务器收到用户明后就会存在clientList中,然后再提取所有的用户名广播出去。
实现私聊的思路,利用hashmap来储存数据,通过name找到socket,然后把消息发给找到的socket
关于map,首先就要说说Collection接口,它位于与数据结构有关的
API
的最上部。构成Collection的单位,我们称之为元素(element),此接口提供了添加,删除元素等管理数据的功能,根据管理方法的不同,可将Collection接口分为Set,List,Map三种接口。
实现Map接口的类也有3个,分别是HashMap类,TreeMap类和Hashtable类。这些类具有如下几个特征:元素拥有固定的key值;key值不允许重复。
下面就说说这次说用道德HashMap类的常用方法。
添加一个拥有key的元素:put(Object key,Object value);
删除拥有key的元素:remove(Object key);
返回拥有key的元素:get(Object key);
通过get方法可以通过key查找value,那反过来呢?如何通过HashMap中的value找到key。似乎并没有现成的方法。这里提供一个思路。关于关于Iterator和Set大家可以自行查查java文档,这里就浪费论坛的空间了。
客户端:myLogin.mxml;Client5.mxml
没什么好讲的,知识点在前四节中已经反复的提过了,这里就不再累叙了。
所要注意的无非就是通过字符串操作来分割服务器传来的消息,经过判断然后进行归类。
所要注意的一点是,在登陆的时候要做好验证工作,确保用户列表不重名。