`

简单servlet socket 整合

    博客分类:
  • java
阅读更多
package filter;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import socket.SocketServer;

/*
初始化socket
*/
public class RFilter extends HttpServlet {
private static final long serialVersionUID = 1L;
SocketServer socket;
    @Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
socket=new SocketServer();
socket.start();
System.out.println("load on start!");
}


    public RFilter() {
        super();
    }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("***************RFilter doGet");
socket.cc.handCom();

}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("***************RFilter doPost");
socket.cc.handCom();
}

}

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package socket;  
 
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;

import filter.ClientController;
 
/*
  socket服务端类
*/
public class SocketServer extends Thread{  
 
    ServerSocket ss = null;                         //socket连接  
    public ClientController cc;
   
 
    public SocketServer() {
super();
  try {
//
ss = new ServerSocket(9999);
  cc=new ClientController();

} catch (IOException e) {
e.printStackTrace();
}  
}
 
    public void run() {  
   
       System.out.println("准备好接收数据!");
         try{
       
            while (true) {  
              Socket  socket = ss.accept();  
                if(socket!=null){
                cc.addNewClient(socket);
                }
            }  
 
        } catch (IOException ex) {  
            System.out.println(ex.toString());  
        }  
 
 
    }  
 



package filter;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.nio.channels.SocketChannel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.DeflaterOutputStream;

import flex.messaging.io.SerializationContext;
import flex.messaging.io.amf.Amf3Output;
/*
  管理与客户端通讯的业务类
*/
public class ClientController {
private ArrayList<Socket> clients;
private SerializationContext context = new SerializationContext();
public ClientController(){

clients=new ArrayList<Socket>();
}



public void handCom(){
System.out.println("ClientController size:"+clients.size());
for(Socket inComing:clients){
  try {  
 
          DataOutputStream dos = new DataOutputStream(inComing.getOutputStream());  

          Amf3Output out = new Amf3Output(context);  
          DeflaterOutputStream stream = new DeflaterOutputStream(dos);  
          out.setOutputStream(stream);  

          Map map = new HashMap();  
          String[] arr = "1,2,3,4,5".split(",");  

          map.put("datas", arr);  
          map.put("userName", "mumuyu99");  
          map.put("fullName", "最新消息");  
          

          out.writeObject(map);  
          stream.finish();  

          out.flush();
             
          dos.flush();  
              System.out.println("clientController handCom");

      } catch (IOException ex) {  
          ex.printStackTrace();
      }  

}
}


public  void addNewClient(Socket socket){
clients.add(socket);
System.out.println("****************用户登录************");
System.out.println("******登录用户数:"+clients.size()+"*****");

}

}
1
0
分享到:
评论
2 楼 minn84 2012-07-04  
可能考虑applet
1 楼 sundreams2009 2012-06-06  
您好,我现在在做jsp页面实现socket通信,能不能指点下该怎么做啊?

相关推荐

    springmvc整合webservice加整合socket

    整合Spring MVC、Webservice和Socket,可以构建一个既能够作为Webservice服务端接收并处理请求,也可以作为客户端调用其他Webservice的服务。同时,通过Socket可以实现实时的数据同步和推送功能,提升用户体验。 ...

    IIS与Tomcat整合

    ### IIS与Tomcat整合详解 #### 一、前言 在Web开发领域,IIS (Internet Information Services) 和 Tomcat 分别是处理静态资源(如HTML、CSS、JavaScript等)和服务Java应用的重要服务器软件。随着业务的发展和技术...

    JAVA整合WebSocket实现服务器消息推送项目源码

    本项目源码展示了如何使用Java进行WebSocket的整合,从而实现服务器消息推送功能。以下将详细介绍WebSocket的核心概念、Java整合WebSocket的步骤以及在实际项目中的应用。 1. WebSocket简介: WebSocket协议是HTML5...

    Apache与Tomcat整合的简单方法.pdf

    ### Apache与Tomcat整合的简单方法 #### 一、引言 随着互联网技术的发展,越来越多的应用需要同时利用Apache和Tomcat的优势。Apache作为一款稳定、高效且功能强大的Web服务器,而Tomcat则是一款专为Java应用程序...

    1.5Java聊天室的设计与实现原生Sevlet_socket.zip

    在本项目"1.5Java聊天室的设计与实现原生Sevlet_socket.zip"中,我们探讨了如何使用Java编程语言构建一个基于Servlet和Socket的实时聊天应用。这个项目不仅涵盖了网络编程的基础知识,还涉及到了Web服务器交互的高级...

    jmeter--web socket引用插件包

    1. **jetty-util-9.4.12.v20180830.jar**: Jetty是一个轻量级的Java Web服务器和Servlet容器,这里的jetty-util库提供了许多用于网络和I/O操作的实用工具。 2. **websocket-common-9.4.12.v20180830.jar**: 这是...

    ubuntu linux下apache与tomcat的整合.txt

    ### Ubuntu Linux 下 Apache 与 Tomcat 的整合 在 Ubuntu Linux 环境中,Apache 和 Tomcat 的整合是一项常见的任务,旨在实现静态内容通过 Apache 服务器进行高效分发,而动态内容(如 Java 应用)则通过 Tomcat ...

    Android+Tomcat+MySql登录注册和Socket聊天.zip

    这个名为"Android+Tomcat+MySql登录注册和Socket聊天"的项目就是一个典型的案例,它整合了Android客户端、Java后端服务器(Tomcat)以及关系型数据库MySQL,同时实现了基于Socket的实时聊天功能。以下是对这些关键...

    JAVA整合开发——新手必备

    6. **网络编程**:Java的Socket编程允许开发者创建网络应用程序,理解TCP和UDP协议,以及ServerSocket和Socket类的使用,可以构建简单的客户端-服务器应用。 7. **JDBC数据库连接**:Java Database Connectivity ...

    apache和tomcat整合.pdf

    ### Apache与Tomcat整合知识点详解 #### 一、Apache与Tomcat简介 - **Apache**:是一款免费开源的Web服务器解决方案,支持多种操作系统,如Windows、Linux等,并且可以通过简单的API扩展其功能。 - **Tomcat**:是...

    websocket整合spring

    创建一个简单的聊天室页面,用于展示WebSocket功能。 ```html &lt;!DOCTYPE html&gt; &lt;title&gt;Chat Room &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&gt;&lt;/script&gt; $(document)....

    apahce2.2.4整合tomcat6.0.016

    JkMount /servlet/* ajp13 JkMount /*.jsp ajp13 JkMount /*.action ajp13 JkMount /*.shtml ajp13 JkMount /dwr/* ajp13 #TOMCAT整合结束 conf/extra/httpd-vhosts.conf #jlitshop NameVirtualHost love ...

    IIS5和Tomcat6整合.doc

    - **Tomcat6**:Apache Tomcat 6是一款开源的Java Servlet容器,主要用于部署和运行基于Java的应用程序,尤其是JSP和Servlet。 #### 实现目标 本项目的主要目标是在Windows XP SP3操作系统上配置IIS5以支持JSP应用...

    IIS整合TOMCAT

    通过整合,可以利用IIS作为前端服务器,而将动态内容如JSP、Servlet等请求转发至后端的Tomcat服务器进行处理。这种方式不仅能够提高系统的安全性,还能有效利用IIS的强大静态资源处理能力和Tomcat对Java应用的良好...

    java总结以及框架整合案例

    它的核心理念是“简单、面向对象、健壮、安全”。Java的设计使得它能够在各种操作系统上运行,包括Windows、Linux、Mac OS等,这就是所谓的“独立于平台”。 1. **Java语法基础** Java的语法深受C++的影响,但简化...

    Spring整合WebSocket应用示例(上)

    例如,你可以创建一个简单的`WebsocketEndPoint`类如下: ```java import org.springframework.web.socket.CloseStatus; import org.springframework.web.socket.TextMessage; import org.springframework.web....

    Tomcat面试题(相关面试问题整合)

    使用-Javaagent参数添加远程调试选项,如`-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000`,然后通过IDE如IntelliJ IDEA或Eclipse进行远程连接。 12. **Tomcat的错误日志在哪里查看?** ...

    简历模板(全面)

    + J2EE 规范下的 Jsp、Servlet、JDBC、JavaBeans 的 MVC 模式的开发项目 + Struts、Hibernate、Spring、Framework 等的项目整合 + Tomcat 服务器配置和调试 + IDE(集成开发环境)的使用 + MySql、Oracle ...

    tomcat 中运行php 环境的jar包

    标题提到的"tomcat 中运行php 环境的jar包"正是指这样的解决方案,通过特定的Java桥接技术实现PHP与Tomcat的整合。下面将详细介绍这个知识点: 首先,我们需要理解的是Tomcat是一个开源的Java Servlet容器,它主要...

Global site tag (gtag.js) - Google Analytics