`

jetty7 同时并发连接多个目的主机时(100+) 本地tcp端口不够用的解决方案,技术点滴,通讯+多线程

阅读更多

 第一种方法

改注册表

改变这个变量:MaxUserPort可用端口数量由1024扩展为65535

改变这个变量:TcpTimedWaitDelay 把它缩短到30s 

 

 //先站个位置

public void startConnection( HttpDestination destination )
        throws IOException
    {
        SocketChannel channel = null;
        try
        {
            channel = SocketChannel.open();
            Address address = destination.isProxied() ? destination.getProxy() : destination.getAddress();
            channel.socket().setTcpNoDelay(true);
            channel.socket().setReuseAddress(true);
            channel.socket().setSoLinger(true, 0);
            if (_httpClient.isConnectBlocking())
            {
                channel.socket().connect(address.toSocketAddress(), _httpClient.getConnectTimeout());
                channel.configureBlocking(false);
                _selectorManager.register( channel, destination );
            }
            else
            {
                channel.configureBlocking(false);
                channel.connect(address.toSocketAddress());
                _selectorManager.register(channel,destination);
                ConnectTimeout connectTimeout = new ConnectTimeout(channel,destination);
                _httpClient.schedule(connectTimeout,_httpClient.getConnectTimeout());
                _connectingChannels.put(channel,connectTimeout);
            }
        }

 

 

 

http://www.blogjava.net/yongboy/archive/2015/02/25/423037.html

http://www.apihome.cn/api/java/Socket.html

http://www.blogjava.net/yongboy/archive/2015/02/25/423037.html

http://blog.csdn.net/zjl410091917/article/details/7990787

http://bbs.csdn.net/topics/390924834

http://blog.csdn.net/feiyinzilgd/article/details/5894300

http://bbs.csdn.net/topics/390930935

分享到:
评论

相关推荐

    Jetty java程序指定一个端口,开通一个TCP服务

    本篇将详细讲解如何使用Jetty来指定一个端口,开通一个TCP服务。 首先,理解Jetty的基本结构。Jetty的核心组件包括Server、Connector和Handler。Server是整个Jetty服务器的入口点,Connector负责处理网络连接,而...

    maven+spring MVC+Mybatis+jetty+mysql

    "maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...

    websocket+tomcat+jetty+netty

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行全双工通信,即数据可以在...理解这些技术可以帮助开发者选择最适合他们项目的解决方案,并且能够有效地利用WebSocket实现高效的实时通信功能。

    jetty-jdk7使用版本

    7. 性能优化:Jetty采用非阻塞I/O模型,基于NIO(New I/O)API,这使其在处理高并发连接时表现出色。此外,Jetty的线程池策略也是其性能优化的关键,可以根据需要动态调整线程数量。 8. 监控与日志:Jetty提供了...

    基于Jetty+Servlet+Jsp+MySQL+MyBatis技术实现的简单博客系统

    本博客系统主要使用Jetty技术+Servlet技术+Jsp技术+BootStrap前端框架+wangEditor富文本编辑器+MySQL数据库+MyBatis持久层,通过对该系统的设计,可以在实践过程中掌握相关基础知识,如对三层架构开发模式的熟悉、...

    多线程socket+webservice操作demo

    - 为了处理多个并发的客户端连接,服务器通常会为每个新连接创建一个新的线程。 - 创建一个线程类,如`ThreadClientHandler`,在`run()`方法中处理Socket通信。 - 在主线程中,每当`accept()`返回新的Socket时,...

    实战 Jetty--让你快速速学会jetty

    以下是一个简单的示例代码片段,展示了如何创建一个监听8080端口的Server对象,设置一个默认Handler,并使用XML配置文件(如`jetty.xml`)初始化和启动服务器: ```java public class JettyServer { public static...

    jetty-document

    配置连接器时,需要注意监听端口、最大线程数等参数。 #### 四、高级配置与管理 ##### 4.1 JSP支持配置 JSP是一种用于生成动态网页的技术。在Jetty中,可以通过配置文件启用JSP支持,并自定义JSP引擎的相关参数。...

    jetty嵌入式Httpserver

    通过使用NIO(非阻塞I/O)API,Jetty可以高效地管理多个连接,而不会因为等待I/O操作完成而消耗大量的线程资源。 在实际应用中,我们可以通过以下步骤来配置和启动一个嵌入式的Jetty服务器: 1. 添加依赖:在项目...

    jetty.jar,jetty-sslengine.jar,jetty-util.jar

    它们之间的协同工作使得Jetty在保持小巧和轻便的同时,具备了处理复杂网络任务的能力,成为许多开发者首选的Web服务器解决方案。 在实际使用中,开发人员通常会将这些jar文件加入到项目的类路径中,然后通过编写...

    解决jetty8内存溢出版本

    综上所述,解决Jetty 8内存溢出问题需要综合考虑JVM参数配置、代码优化、资源管理策略以及监控与分析等多个层面。通过对上述知识点的理解和实践,可以有效地预防和解决Jetty 8的内存溢出问题,提高服务的稳定性和...

    jetty 6 指南书

    9. **虚拟主机**:如何在Jetty上配置多个虚拟主机,实现多站点托管。 10. **管理服务器**:涵盖日志管理、请求日志、实时状态监控、关闭服务器以及JMX管理。 11. **配置JNDI**:介绍Java Naming and Directory ...

    jetty 源码 2018 zip

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,因其开源、小巧、易于集成等特性,在开发和部署Java Web应用时广受欢迎。源码分析对于理解其工作原理、优化性能以及定制化开发有着至关重要的作用。在这个...

    jetty指导书

    对于需要高可用性的场景,可以使用Jetty的集群功能,通过多个Jetty实例协同工作来提高系统的可靠性和性能。 #### 十三、性能优化 **13.1 线程池** 合理配置线程池的大小可以显著提高服务器的并发处理能力。 **...

    Android i-jetty开源项目.rar

    - **多线程处理**:处理并发请求时,需要考虑线程同步和并发控制。 - **网络权限**:Android系统对网络访问有严格的权限控制,需要在Manifest文件中声明相应的权限。 6. **实战应用** - **案例分析**:研究开源...

    jetty-distribution-9.4.31.v20200723_安装包.rar

    4. **线程模型优化**:Jetty使用了一种名为“NIO2”的高效I/O模型,它减少了线程上下文切换,提高了并发处理能力。 5. **嵌入式使用**:Jetty可以很容易地被嵌入到其他Java应用程序中,无需额外的服务器进程,这...

    jetty 8及依赖包

    NIO允许单个线程服务多个连接,通过选择器(Selector)监控多个通道(Channel),当数据到达时才进行读写操作,从而提高了服务器的吞吐量和响应速度。 在Jetty 8中,Servlet容器是其核心功能之一,它负责管理和调度...

    jetty 适合jdk1.8用的服务器

    1. **性能优化**:Jetty以其高效的性能而著称,它使用非阻塞I/O模型,如NIO和EPOLL,这使得它在处理大量并发连接时表现出色。 2. **轻量级**:Jetty没有像Tomcat那样的复杂配置,它的设计目标是简洁,因此启动快速,...

    Jetty权威指南.pdf

    Jetty支持在同一台物理服务器上托管多个虚拟主机。通过配置`VirtualHost`和`VirtualHost.ContextHandler`,可以实现基于域名或IP地址的不同Web站点。 #### 十、管理服务器 **10.1 服务器日志管理** Jetty提供了...

Global site tag (gtag.js) - Google Analytics