最近写了一个servlet 用来处理下载,客户端是一个swing程序,在本机的时候测试成功,但移到服务器,用外网地址连接后,小文件还行,可以下载,但大的文件就下载不下来,文件大小40M左右吧; 下载到一部分的时候就停了 ,随后服务端就报下面的错(报错日志); 后通过局域网地址来访问那台服务器,下载也是正常的,切换成外网就出现了这个错误 ,很是郁闷 ~,打电话咨询网管 ,网管说只开通了一个端口 ,举例 7001, 其他的端口都没有开通 ,在客户端我用的时候也是用,网管问我用没用到其他端口 ,我就蒙了 ,我哪知道还用到了什么端口 ,这里请教各位高手,希望能有所解答 ~
客户端连接的代码:
URL url = new URL("ip:7001");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
报错日志:
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at weblogic.servlet.internal.ChunkOutput.writeChunkNoTransfer(ChunkOutput.java:548)
at weblogic.servlet.internal.ChunkOutput.writeChunks(ChunkOutput.java:505)
at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:382)
at weblogic.servlet.internal.ChunkOutput.checkForFlush(ChunkOutput.java:469)
at weblogic.servlet.internal.ChunkOutput.write(ChunkOutput.java:304)
at weblogic.servlet.internal.ChunkOutputWrapper.write(ChunkOutputWrapper.java:143)
at weblogic.servlet.internal.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:169)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
at com.ufgov.app.maintain.download.servlet.DownloadBundleServlet.doGet(DownloadBundleServlet.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.ufgov.common.util.EncodingFilter.doFilter(EncodingFilter.java:29)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
问题补充:khan 写道
用http 的 长连接试试,网络不好导致的问题,
Connection: Keep-Alive
现在这个本身就是长连接 ~,我断点查看了request,和response, 发现都有
Connection: Keep-Alive 这个属性 ,
服务端在write()的时候停了很长时间,然后报错 ~
问题补充:UDP 下载~ 这样会不会很麻烦呢?
我的服务端是一个web项目, 问题我基本查出来了 ,和我们内网权限软件有关,应该是限制下载,下载速度过快就被封端口 ~不知道该怎么解决了 ~
jkxydp 写道
既然是用C/S模式的东西,何不直接用UDP来传输大文件呢?tcp觉得在internet上传输大文件不适合。
问题补充:没用过这些东西 ~~,但还是要谢谢了 呵呵
OpenMind 写道
CS模式建议不要用http的方式下载,可以使用MQ,比如ActiveMQ等等。
相关推荐
在本项目中,我们需要使用JavaServer Pages(JSP)技术和Servlet来实现一个简单的Web应用程序,该程序能够接收用户输入的矩形的长度和宽度,计算并显示矩形的周长和面积。首先,我们来看看各个文件的作用。 1. **...
《ACM核心Servlet教程》是一份专为ACM竞赛爱好者准备的高质量培训资源。这个压缩包包含了一系列关于算法、编程技巧以及ACM竞赛策略的教程,适合那些希望提升自己在ACM竞赛中表现的同学。 首先,"SWOJ.7z"可能是一个...
经典数独游戏的Java Servlet 创建过程中的每个Sudoku问题都可以通过自然算法(SudokuSolver.java)解决。 该算法检查问题是否只有一种逻辑解决方案。 如果有多个解决方案,则会产生一个新的Sudoku问题。 通过该算法...
mail客户端和Internet搜索、用Java修饰HTML、显示统计图表、金融应用中的Applet和Servlet、基于AI的问题求解等,每章给出的示例代码都可以直接运行,无需修改,而且读者可以从www.osborne.com站点上免费下载这些代码...
1. **Tomcat 8.0**:Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。Tomcat 8.0是其的一个版本,它支持Java EE 7规范,提供了更高的性能和稳定性。Tomcat以其轻量级、易于配置和管理的特点,...
文档中提到了如何借鉴遗传算法来求解旅行商问题(TSP),即找到一条经过所有点并最终返回起点的最短路径。 3. 旅行商问题(TSP):TSP是组合优化领域中的一个经典问题,目标是找到一条闭合路径,使得旅行者访问每个...
在本实验中,我们将探讨如何使用Java Servlet和JSP技术结合Bean类来计算一元二次方程的根。一元二次方程的一般形式为ax² + bx + c = 0,其中a、b、c为系数,且a不等于0。计算一元二次方程的根涉及到数学上的求根...
6. **Java EE相关**:Servlet、JSP、EJB等企业级应用开发的基础知识。 书本上的例题程序则为每章的关键概念提供了示例代码,这些例子通常包括: 1. **基本程序设计**:简单的输出、输入和计算程序。 2. **面向对象...
求解数组最大值或最小值,可以初始化一个变量,然后逐一与其他数组元素比较,更新最大或最小值。 7. **Servlet生命周期与HTTP工作流程**: Servlet的生命周期包括`init`、`service`和`destroy`三个阶段。`init`...
- 求解数组的最大值或最小值,可以初始化一个变量,然后遍历数组进行比较更新。 7. **Servlet生命周期**: - Servlet的生命周期包括初始化(init)、服务(service)、销毁(destroy)三个阶段。 - `init`函数在...
在JAVAWEB中,可以使用Servlet和JSP技术来构建Web应用,用户可以通过网页输入初始状态和目标状态,服务器端的Java代码执行A*算法求解,并将结果返回给前端展示。为了提高用户体验,可以设计动态的界面,实时显示搜索...
潮流计算通常基于牛顿-拉夫森迭代法,通过建立电力网络的节点平衡方程来求解电压和功率。在Matlab中,用户可以自定义算法实现这一过程,或者使用内置的电力系统工具箱(Power System Toolbox)提供的函数。 2. **...
自动排课问题是一个典型的组合优化问题,通常采用贪心算法、回溯法或者遗传算法等方法来求解。系统需要考虑的因素可能包括:课程冲突、教室容量、教师课时限制等。算法的设计需要兼顾效率和准确性。 6. **用户界面...
mail客户端和Internet搜索、用Java修饰HTML、显示统计图表、金融应用中的Applet和Servlet、基于AI的问题求解等,每章给出的示例代码都可以直接运行,无需修改,而且读者可以从www.osborne.com站点上免费下载这些代码...
mail客户端和Internet搜索、用Java修饰HTML、显示统计图表、金融应用中的Applet和Servlet、基于AI的问题求解等,每章给出的示例代码都可以直接运行,无需修改,而且读者可以从www.osborne.com站点上免费下载这些代码...
问题描述:给定一个线性规划问题,求解最优解。 \[ \begin{aligned} & \text{最大化 } Z = 6x_3 \\ & \text{约束条件 } 5x_3 \leq s_3 \end{aligned} \] 解法步骤: 1. 定义决策变量\( x_3 \)和状态变量\( s_3 \)...
16. Servlet和Web容器:理解servlet的执行过程以及过滤器和拦截器的区别与作用。 17. HTTP与HTTPS:掌握HTTP请求与响应的格式、头部字段以及HTTP与HTTPS的区别。 18. Spring事务管理:了解Spring事务的实现原理,...
在解决工程问题时,学生需结合计算机软硬件资源,合理选择技术手段,如选用适当的算法、数据结构和数据存储方式,对问题进行建模和求解。程序设计语言和编程开发平台的选择也是重要环节,同时掌握调试技巧,对可能...