目前的思路:socket服务器端就不说了。
1.用户登录,连接socket服务器,socket放入session
2.ajax发送消息,发送后读取最新消息内容
问题:
1.http和socket是否有冲突,socket不好维护,莫名奇妙connect reset
2.如何接收消息?
[CODE]
        HttpSession session = req.getSession();
        Socket socket = (Socket) session.getAttribute("socket");
        PrintWriter out = new PrintWriter(socket.getOutputStream());
        out.println(req.getParameter("msg"));
        out.flush();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                socket.getInputStream()));
        PrintWriter pw = resp.getWriter();
        //while (true) {
            String responseText = in.readLine();
            pw.println(responseText);
            pw.flush();
        //}
[/CODE]
没有循环不发送消息就不更新,加上循环,servlet不能退出,得到消息不能传到jsp。。
求解决方案。

解决方案 »

  1.   

    代码不见了。。补HttpSession session = req.getSession();
            Socket socket = (Socket) session.getAttribute("socket");
            PrintWriter out = new PrintWriter(socket.getOutputStream());
            out.println(req.getParameter("msg"));
            out.flush();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            PrintWriter pw = resp.getWriter();
            //while (true) {
                String responseText = in.readLine();
                pw.println(responseText);
                pw.flush();
            //}
      

  2.   

    就是能不能用socket做一个web聊天室?怎么做?
      

  3.   

    不是很清楚,http://www.zendstudio.net/archives/a-websocket-chat-demo/ 你看看这个行不
      

  4.   

    就是这种东西。3Q,不过这个用了html5 websocket,websocket待会研究看看。传统的socket来做,老是断开连接不知道为什么,能给点见解麽?
      

  5.   

    记得socket是长连接的,http是短连接,如果通过http使用socket的话每次都需要重新连接