java Socket通信,客户端实现好友列表

privatestaticList<Socket>mClientList=newArrayList<Socket>();mClientList.add(client);/... private static List<Socket> mClientList = new ArrayList<Socket>();

mClientList.add(client);//这里存的是好有

mPrintWriter = new PrintWriter(client.getOutputStream(), true);
mPrintWriter.println(mClientList);//把好友传到客户端

问题是我在客户端怎么接收呢??
Bufferedreader里的readLine()反回来的是字符串,我在客户端能不能得到socket对像呢??
展开
 我来答
bbwell_com
2012-09-24
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
问题一:客户端接收可以采用下列步骤:
1、无论客户端还是服务器都要有能力构造实体Bean(比如叫做UserBean,存放用户信息),构造UserList封装UserBean数组。并且,上述类要支持序列化和反序列化。
2、服务端将List<UserBean>UserList序列化,然后利用ServerSocket发送。
3、客户端利用Socket接收,对UserList反序列化,遍历UserBean数组得到每一个用户的信息。

问题二:对于Socket,不存在得到还是得不到的——
你要利用Tcp、Udp协议先要构造和初始化Socket才行。
客户端Socket和服务端Socket进行全双工通信。
即使是最简单IM演示程序,用户的好友列表都应该考虑在服务器端持久化和管理。
客户端程序要想得到其好友列表,只需要执行一次”请求/响应”即可。写这方面的程序,可以参考XMPP相关技术。
sdzjbd
2012-09-24
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
当然得不到! Socket 对象实例只能存在于建立它的主机上, 不能被序列化并传递!
你程序中的client不是好友, 只是与对方建立的Socket连接,是暂时的!
追问
client存的是客户端的IP地址,我只要取出这个IP我就能指定那个客户端聊天了
追答
你在服务端获得的Socket是由Client 发起建立的, 可以通过 Socket 获得Client端IP;但你的Client端应该不能直接与对方Client端建立连接,如果确实要这么做,建议查阅P2P技术.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TalkIsCheap
2012-09-25
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
同问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式