我这里有关于网络异常方面的建议,发上去大家学习:
第1个异常是java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。
第2个异常是java.net.ConnectException: Connection refused: connect。该异常发生在客户端进行new Socket(ip, port)操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在,但找不到指定的端口进行监听。出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器看是否能ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否启动,这个肯定能解决这个问题。
第3个异常是java.net.SocketException: Socket is closed,该异常在客户端和服务器均可能发生。异常的原因是己方主动关闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。
第4个异常是java.net.SocketException: (Connection reset或者Connect reset by peer:Socket write error)。该异常在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。
第5个异常是java.net.SocketException: Broken pipe。该异常在客户端和服务器均有可能发生。在第4个异常的第一种情况中(也就是抛出SocketExcepton:Connect reset by peer:Socket write error后),如果再继续写数据则抛出该异常。前两个异常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对方关闭连接后自己也要关闭该连接。
分享到:
相关推荐
在`sendCrashReport()`方法中,我们可以利用网络库发送这些错误报告。 总的来说,全局异常捕获是通过自定义`UncaughtExceptionHandler`并设置为系统默认处理器来实现的,这使得开发者可以在一个集中的位置处理所有...
.NET Framework提供了大量的类库,包括系统、数据、文本、网络、安全、数据库连接等功能。C#与.NET Framework的结合,使得开发者能够快速构建复杂的应用程序,同时保持代码的可读性和可维护性。 ### 枚举类型 枚举...
例如,当网络连接断开或数据传输失败时,需要捕获异常并采取适当的恢复策略。 8. **安全编程**:在进行网络通信时,数据的安全性至关重要。这可能涉及到加密技术,如SSL/TLS,以及防止各种网络攻击,如缓冲区溢出和...
这两种技术在网络安全领域中用于发现和应对网络威胁及异常行为。 2. 产品市场现状:报告概述了NTA/NDR产品在国内市场的应用情况,包括市场发展现状、行业应用现状、攻防对抗场景下的应用现状、企业对产品的预期以及...
在当前,舆论炒作方式主要是先由传统媒体发布,然后在网络上转载,再形成网络舆论,最后反馈回传统媒体。网络可以实时更新的特点,使得网络舆论可以最快的速度传播 7 语言资格考试PPT 网络安全PPT(3)全文共44页,...
这篇博客"JAVA数据库连接大全-转载"可能详细介绍了在Java中如何管理和使用数据库连接,包括使用JDBC API,数据库连接池以及相关的工具。这里我们将深入探讨JDBC、数据库连接池的重要性和配置方法。 1. **JDBC基础**...
8. **错误处理和调试**:学习如何处理网络异常,以及使用易语言的调试工具来定位和解决问题,这是任何编程过程中必不可少的部分。 9. **优化和性能**:理解如何优化代码以提高程序运行效率,尤其是在处理大量网络...
【标签】:“c++”表明muduo库是用C++语言编写的,这意味着它利用了C++的面向对象特性、模板、异常处理和内存管理等机制,同时可能包括C++11或更高版本的新特性。 【压缩包子文件的文件名称列表】:“SimpleMuduo-...
这种技术的核心在于JavaScript异步通信,它极大地提升了用户体验,减少了网络流量,提高了页面响应速度。 【描述】:“从http://luoke920.javaeye.com/blog/271953处转载的资料”表明,这份资源可能来源于一个早期...
例如,无线遥控器可以允许操作员在安全距离内控制起重机,同时,通过无线网络,系统可以将运行数据发送至中央监控系统,进行实时分析和预警。 4. 自动化装载与卸载:智能转载系统能够实现货物的自动识别、定位和...
发送过程中,更新状态栏信息并处理可能的异常。 5. **关闭资源**:完成发送后,关闭`fileReader`、`fs`,禁用Socket(`Shutdown(SocketShutdown.Both)`),然后关闭Socket,显示发送成功的消息。 接收文件的窗体...
在网络中查询解决办法大多是使用异常处理的办法,其内容如下: <package name="default" extends="struts-default"> <global-results> <result name="client-abort-exception">/ignored.jsp</result> ...
理解如何正确抛出和捕获异常,以及何时使用特定类型的异常,对于编写健壮的代码至关重要。 4. **集合框架**:Java集合框架包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和...
8. **内存溢出**: 当应用程序占用过多内存时,可能会导致内存溢出异常(OOM)。在处理大量图片时,如果不合理管理内存,容易引发此问题。异步加载和使用合适的图片库可以有效预防。 9. **缓存策略**: 图片加载库...
3. **网络故障**:网络连接问题,如通信中断、网络延迟,可能导致VCS无法正常通信,从而进入此状态。 4. **服务异常**:如果某个关键服务意外终止或无法启动,VCS会停止其他操作,进入ADMIN_WAIT,等待管理员修复...
### CIH 1.5病毒源代码分析 #### 背景介绍 ...通过对CIH 1.5的源代码分析,我们可以更深入地了解这种病毒的工作原理和技术特点,这对于提高网络安全防范意识以及研究反病毒技术都具有重要的意义。
`select`的基本工作流程是这样的:当调用`select`函数时,程序会阻塞,直到被监视的文件句柄中至少有一个发生了可读、可写或异常状态的变化。文件句柄可以是各种类型的I/O源,包括网络套接字、文件、管道等。`select...
- 避免资源泄露,特别是对文件和网络连接的管理。 - 使用`try-with-resources`等语法糖来自动关闭资源。 **6.2 垃圾回收** - 在不再需要对象时,及时设置引用为`null`,帮助垃圾收集器进行回收。 - 明确何时调用`...