具体是这样的,我们在做一个类似微博的系统,是手机版的
我做的是PC上的服务器端,用的是Socket编程,其他增删改查功能都已经初步实现了
现在需要一个功能 就是即时提醒 
比如某个用户自己发的帖子被别人评论了,服务器要告知这个用户你的帖子被人回复了
这要怎么实现呢我这个月刚接触JAVA的网络编程,还不是很清楚,
各位能否帮我缕缕思路,或者告诉我要用什么技术啊?
PS:只剩下20分了,不好意思,这是我CSDN的全部财产啦= =

解决方案 »

  1.   

    有两种方案。
    1.C2S如果是长连接,那如果帖子被回复了就直接通知一下客户端就可以了。
    2.C2S如果是短连接,那只有由客户端模拟定时器,定时向服务器监听是否有帖子被回复。
      

  2.   

    我们的手机端 Socket连上服务器就没有断开,算是长连接吧?那我想问一下, 通知客户端这个要怎么实现呢
    我们客户端平时提交请求用的是一个Socket的IO流 ,如果要通知客户端,用的是另一个Socket的IO流还是用原来那个呢?
      

  3.   

    另开个Socket的IO流吧,分工明确,不然扯在一起不好弄吧。
    坐等高手出现……
      

  4.   

    具体怎么实现呢,我网络编程是菜鸟,是重新用一个SOCKET的IO流来通信吗
      

  5.   


    其他增删改查功能都已经初步实现了
    具体的输出格式这个是你们内部的协议(双方可以协定一下)。
    你向服务器写数据的时候是使用OutputStream。读数据的时候是使用InputStream。服务器也是一样的。
    要向客户端发送一条信息,就使用OutputStream输出。假设目前双方协定,如果服务器输出“A”表示是有帖子被回复了,那么客户端如果收到A就应该做提醒操作。
      

  6.   

    用户发表评论的时候,是通过一个SOCKET 与服务器交互的,当评论成功后,服务器怎么通过另一个SOCKET通知被评论的楼主(另一个客户端)呢?(我服务器为每个连接过来的SOCKET都有专门开一个线程)
      

  7.   


    我们已经做了一个简单的协议,就是把数据加个请求类型,然后一起写到流里。我现在纠结的是,服务器在操作完添加评论的Socket后,如何连接楼主的客户端,然后给他发消息?
      

  8.   

    恩,但是楼主在线的时候,他的那个Socket连接的IO流是用于他提交请求和接受服务器回复的,是不是要另外用一个SOCKET连接服务器,专门接收 回帖的提示?
      

  9.   


    具体我不知道你们是怎么来做的。
    C2S是长连接的话,一般都是只有一个Socket,所有的数据输出、写入都是走同一个In/Out。

    不过这里,我想应该把楼主那个连接获取到了,输出到客户端应该就可以了,客户端根据协议解析数据就可以了。
      

  10.   

    同一个SOCKET?但是手机客户端那里,用户操作跟接收消息提醒 不应该是属于不同线程的吗,2个线程可以用同一个Socket 同一个IO流 进行读写吗?
      

  11.   

    根据楼主的说法,你们应该是一个操作就会有一个Socket了。
    比如增加有增加的连接,删除有删除的连接。这样行吗?难道不是统一的一个Socket吗?由这个Socket把读取到的数据分发到不同的地方去处理,我想应该是这种模式吧。
      

  12.   

    我这边所有操作都是属于一个Socket的,因为它们请求和接受回复的方式是一样的,但是这个消息提醒跟其他操作时不一样的吧,普通的操作是客户端请求,然后获取服务端的答复。而 消息提示 那边难道客户端不是用一个线程,单独来接收服务器发过来的新消息的提示吗?
      

  13.   


    这个给你说也说不明白,你直接代码帖上来。如果是因为公司的代码不能外泄,就自己写个小DEMO先帖下来。
      

  14.   

    楼主 能不能把代码贴上来 我现在也做消息推送的东东 PS:caixiexin和fainfy的头像很般配啊 哈哈
      

  15.   

    楼主是怎么做的啊!正好碰见这个问题.....邮箱[email protected] 求告知