• 大小: 2.37MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-12
  • 语言: Java
  • 标签: websocket  兼容  IE  678  

资源简介

利用flash请求模仿websocket协议建立连接。使websocket兼容IE678,部署到tomcat7,运行index.jsp即可。完美运行websocket。

资源截图

代码片段和文件信息

package com.server;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;
import org.apache.catalina.websocket.WsOutbound;
import com.talk.TalkManager;

public class ServerSocket extends WebSocketServlet {

    private static final long serialVersionUID = -4853540828121130946L;
    public static Map> clients = new ConcurrentHashMap>();
    private String user_id ; 
    
    @Override
protected StreamInbound createWebSocketInbound(String arg0 HttpServletRequest request) {
     user_id = request.getParameter( “user_id“ );
return new MyMessageInbound();
}

public class MyMessageInbound extends MessageInbound  {
public WsOutbound myoutbound;
public String userId = user_id ; 

        @Override
        public void onOpen(WsOutbound outbound) {
            try {
                System.out.println(“Open>>>>>>用户ID为“ + userId + “建立连接“ );
                this.myoutbound = outbound;
                
                if (clients.containsKey(userId)){
              List list = clients.get(userId);
              list.add(this);
                 clients.put(userId list);
            }else{
              List list = new ArrayList();
              list.add(this);
              clients.put(userId list);
            }
                
                outbound.writeTextMessage(CharBuffer.wrap(“Hello!“));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        @Override
        public void onTextMessage(CharBuffer cb) throws IOException {
            System.out.println(“服务器收到消息 : “ + cb);
            TalkManager.broadcast(cb.toString());
        }

        @Override
        public void onClose(int status) {
            if( status == 1002 || status == 1000)
            {
                System.out.println(“Close>>>>>>用户ID为“ + userId + “断开连接“ );
             List list = clients.get(userId);
              list.remove(this);
            }
        }

        @Override
        public void onBinaryMessage(ByteBuffer bb) throws IOException {
        
        }
 
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-24 17:08  webchat\
     文件         708  2017-02-24 17:08  webchat\.classpath
     目录           0  2017-02-25 17:59  webchat\.myeclipse\
     文件         294  2017-02-24 17:08  webchat\.mymetadata
     文件        1750  2017-02-24 17:34  webchat\.project
     目录           0  2017-02-24 17:08  webchat\.settings\
     文件         500  2017-02-24 17:08  webchat\.settings\.jsdtscope
     文件         598  2017-02-24 17:08  webchat\.settings\org.eclipse.jdt.core.prefs
     文件         457  2017-02-24 17:08  webchat\.settings\org.eclipse.wst.common.component
     文件         252  2017-02-24 17:08  webchat\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2017-02-24 17:08  webchat\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2017-02-24 17:08  webchat\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2017-02-25 16:12  webchat\WebRoot\
     目录           0  2017-02-24 17:08  webchat\WebRoot\meta-INF\
     文件          36  2017-02-24 17:08  webchat\WebRoot\meta-INF\MANIFEST.MF
     目录           0  2017-02-24 17:08  webchat\WebRoot\WEB-INF\
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\server\
     文件        2918  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\server\ServerSocket$MyMessageInbound.class
     文件        1362  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\server\ServerSocket.class
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\servlet\
     文件        1052  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\servlet\InitServers.class
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\talk\
     文件        2239  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\talk\TalkManager.class
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\thread\
     文件        1373  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\thread\PolicyServer.class
     文件        2174  2017-02-25 17:41  webchat\WebRoot\WEB-INF\classes\com\thread\PolicyThread.class
     目录           0  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\utils\
     文件        1853  2017-02-25 17:28  webchat\WebRoot\WEB-INF\classes\com\utils\SocketUtil.class
     目录           0  2017-02-24 17:32  webchat\WebRoot\WEB-INF\lib\
............此处省略23个文件信息

评论

共有 条评论