具体是这样的,我们在做一个类似微博的系统,是手机版的
我做的是PC上的服务器端,用的是Socket编程,其他增删改查功能都已经初步实现了
现在需要一个功能 就是即时提醒
比如某个用户自己发的帖子被别人评论了,服务器要告知这个用户你的帖子被人回复了
这要怎么实现呢我这个月刚接触JAVA的网络编程,还不是很清楚,
各位能否帮我缕缕思路,或者告诉我要用什么技术啊?
PS:只剩下20分了,不好意思,这是我CSDN的全部财产啦= =
我做的是PC上的服务器端,用的是Socket编程,其他增删改查功能都已经初步实现了
现在需要一个功能 就是即时提醒
比如某个用户自己发的帖子被别人评论了,服务器要告知这个用户你的帖子被人回复了
这要怎么实现呢我这个月刚接触JAVA的网络编程,还不是很清楚,
各位能否帮我缕缕思路,或者告诉我要用什么技术啊?
PS:只剩下20分了,不好意思,这是我CSDN的全部财产啦= =
1.C2S如果是长连接,那如果帖子被回复了就直接通知一下客户端就可以了。
2.C2S如果是短连接,那只有由客户端模拟定时器,定时向服务器监听是否有帖子被回复。
我们客户端平时提交请求用的是一个Socket的IO流 ,如果要通知客户端,用的是另一个Socket的IO流还是用原来那个呢?
坐等高手出现……
其他增删改查功能都已经初步实现了
具体的输出格式这个是你们内部的协议(双方可以协定一下)。
你向服务器写数据的时候是使用OutputStream。读数据的时候是使用InputStream。服务器也是一样的。
要向客户端发送一条信息,就使用OutputStream输出。假设目前双方协定,如果服务器输出“A”表示是有帖子被回复了,那么客户端如果收到A就应该做提醒操作。
我们已经做了一个简单的协议,就是把数据加个请求类型,然后一起写到流里。我现在纠结的是,服务器在操作完添加评论的Socket后,如何连接楼主的客户端,然后给他发消息?
具体我不知道你们是怎么来做的。
C2S是长连接的话,一般都是只有一个Socket,所有的数据输出、写入都是走同一个In/Out。
不过这里,我想应该把楼主那个连接获取到了,输出到客户端应该就可以了,客户端根据协议解析数据就可以了。
比如增加有增加的连接,删除有删除的连接。这样行吗?难道不是统一的一个Socket吗?由这个Socket把读取到的数据分发到不同的地方去处理,我想应该是这种模式吧。
这个给你说也说不明白,你直接代码帖上来。如果是因为公司的代码不能外泄,就自己写个小DEMO先帖下来。