clwn.net
当前位置:首页 >> 怎样用jAvA wEB和wEBsoCkEt实现网页即时通讯 >>

怎样用jAvA wEB和wEBsoCkEt实现网页即时通讯

必须新建web project呀,websocket还不成熟建议现在不要用,你可以用dwr推送技术实现web即时聊天,技术成熟.

websocket服务器的通信可以用tomcat-api来实现的, 以前做过一个简单的推送示例,2227421573帮你写好

必须新建web project呀,websocket还不成熟建议现在不要用,你可以用dwr推送技术实现web即时聊天,技术成熟.

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk"><title>QQ在线客服</title><SCRIPT language=javascript>function CloseQQ(){divStayTopleft.style.display="none";return true; }function FloatTop(){ var startX1

目前要实现消息实时推送,有两种方法,一种是ajax轮询,由客户端不停地请求服务器端,查询有没有新消息,然后再由服务器返回结果;另外一种就是long poll,通过一次请求,询问服务器有没有新消息更新,如果没有新消息时,会保持长连接,就一直不返回Response给客户端.直到有消息才返回,返回完之后,客户端再次建立连接,周而复始.这两种都是单向链接,需要被动的请求服务器,而不是由服务器自动发给客户端.从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性.

下面是一个java的多线程的WebServer的例子://import java.io.*;import java.net.*;//import java.util.*;public final class WebServer { public static void main(String argv[]) throws Exception { int port = 80; // Establish the listen socket. ServerSocket

如果不用Socket,现在比较流行的方法就是AJAX了你可以专门做一个消息服务器,一旦有消息就发给消息服务器,AJAX不断的检测消息服务器有没有发给自己的消息.这样负担不是很大,QQ都是这么做的其实也就这种简单而有适用的方法了.

目前要实现消息实时推送,有两种方法,一种是ajax轮询,由客户端不停地请求服务器端,查询有没有新消息,然后再由服务器返回结果;另外一种就是long poll,通过一次请求,询问服务器有没有新消息更新,如果没有新消息时,会保持长连接,就一直不返回Response给客户端.直到有消息才返回,返回完之后,客户端再次建立连接,周而复始.这两种都是单向链接,需要被动的请求服务器,而不是由服务器自动发给客户端.从上面可以看出其实这两种方式,都是在不断地建立HTTP连接,然后等待服务端处理,可以体现HTTP协议的另外一个特点,被动性.

jsp中可以实现简单的聊天功能,例子如下: chat.jsp代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html;charset=gbk"%> <html> <body> <%

这个应该和你框架没多大关系吧 ,又不走action, 在web.xml加入一个自己的listener,在里面创建一个tmer实现定时,定时任务 实时获取某人的ip, 采用socket或httpcon向这个地址写数据流,某人的客户端接到通知 并接收完数据,入库,然后触发一个事件,将数据丢给前台 js, js去把消息显示出来.

qwrx.net | whkt.net | tbyh.net | tuchengsm.com | 5689.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com