许久不发博了,老杨听完故事让我持续写一下“十万个为什么”

一、背景:
  昨天我们亲密的战友HH刘老板亲临现场,指出我们协用的一个项目,客户方面反馈手持终端系统不定期“卡死”,要我们安排人飞到广州驻场解决。
  我的TeamLeather,暂时没有解决方案,而我又在开另外的一个项目协同会,趁上厕所的时间出来和刘老板寒暄了几句,发现我们三方都非常着急,但居然没去分析问题在哪?如何解决?
  这种情形下“马上订机票飞广州”有点草率,和刘老板交互,首要问题是查明原因......,相当年有个八月十五客户服务器异常......,不知道刘老板是否认相信,但我们眼下要做的是找到问题在哪?怎么找?不是说“卡死、有异常吗!”,好,把服务器日志给我,我来解决,我天天晚上8:30回公司加班,24小时开机,你们拿到日志我来分析......
  我去接着去开会,TeamLeader送走了刘老板。
  继续开会,脑子无比的乱,此处省略10000字......唉,什么都不想说了,人生最幸福的事莫过于有人懂我的欲言又止。

二、
  1、现场反馈GB停电了,今天拿不到日志;
  2、次日上午,关心了一下,日志还没拿到;
  3、次日下午,关心了一下,日志已经拿到;
  4、启动分析模式
 
     关键字:
     Exception information: 
     Exception type: SocketException 
     Exception message: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:80

5、不得要领,没看出所以然来,再往前看看(IP加密了)

Request information:
     Request URL: http://666.444.666.55:8080/plspda.webservice/mobileservice.asmx
     Request path: /plspda.webservice/mobileservice.asmx
     User host address: 123.985.211.321

6、怎么又出来了个8080?
    与现场实施工程师确认,为了内、外网共用服务,做了端口转发。
  7、启动刨根问题底模式。
    问:如何做的转发?
    答:原来把外网8080映射到内网服务器80,但请求返回不可用,于是把本地IIS默认的80端口改成了8080。
       好像找到原因了
    问:是所有IP的端口都改了吗?
    答:按本地IP改的。

8、来我们做个实验:我们分另把端口按IP设置和按所有未分配IP,看看浏览WebService的效果......,看来故障重现了。
  9、告诉现场实施人员,把那个123.985.211.321改成“所有未分配IP”,然后重启。
  10、两个小时过去了,原来每半小时左右一次的异常不见了、不卡了、一口气上五楼也不卡了。

三、总结:
  没有目标前,不要贸然行动浪费时间、金钱!
  重要的事情说3遍:双程机票!双程机票!双程机票!真金白银的现大洋呀,就得往外掏呀!

(学)解决诡异的 Exception type: SocketException 127.0.0.1:80的更多相关文章

  1. android Unhandled exception type ParseException提示报错

    Unhandled exception type ParseException 意思指:你有一个方法会抛出异常,但是你没有捕捉. 依提示添加一下即可解决:

  2. JAVA 新手问题: Request 编码编译出错,Unhandled exception type UnsupportedEncodingException

    新手: 编写如下代码 private void Exec(HttpServletRequest Req,HttpServletResponse Response) //throws ServletEx ...

  3. 解决org.openqa.selenium.WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms org.springframework.beans.BeanInstantiation

    解决方法为将selenium-server-standalone-2.37.0.jar升级至selenium-server-standalone-2.41.0.jar即可. 下载地址:http://s ...

  4. java-No exception of type ConfigurationException can be thrown; an exception type must be a subclass of Throwable

    功能:读配置文件 java菜鸟:导入工程在报名处就开始报错,第一次遇到 import org.apache.commons.lang3.StringUtils; import org.apache.c ...

  5. Unable to open debugger port (127.0.0.1:51554): java.net.SocketException "socket closed"

    刚开始使用IDEA 总是有各种各样奇葩的问题 启动报错: Unable to open debugger port (127.0.0.1:51554): java.net.SocketExceptio ...

  6. IDEA项目启动报Unable to open debugger port (127.0.0.1:51554): java.net.SocketException "socket closed"

    启动报错: Unable to open debugger port (127.0.0.1:51554): java.net.SocketException "socket closed&q ...

  7. IntelliJ运行下载的Servlet时报错 Error running Tomcat 8.5.8: Unable to open debugger port (127.0.0.1:49551): java.net.SocketException

    学习Java Servlet时,从Wrox上下载了示例代码,准备run/debug时发现以下错误: Error running Tomcat 8.5.8: Unable to open debugge ...

  8. 解决zookeeper报错[NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@362] - Exception causing close

    zookeeper.out报错: 2016-12-10 18:05:46,958 [myid:3] - WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181 ...

  9. Exception Type & Exception Code

    1.Exception Type 1)EXC_BAD_ACCESS 此类型的Excpetion是我们最长碰到的Crash,通常用于访问了不改访问的内存导致.一般EXC_BAD_ACCESS后面的&qu ...

随机推荐

  1. set和map的简单用法

    .set(集合)map(映射)都属于关联类容器 都支持查询一个元素是否存在并能够有效地获取元素. set集合的元素总是从小到大排列,set集合通过二分查找树实现.它具备以下两个特点: ①:独一无二的元 ...

  2. c++ 陷阱

    .c89 c90 gnu90 c99 c11 c++98( default ) c++03 c++11 gnu++11 boolC 标准 does not support the boolean da ...

  3. mui项目中如何使用原生JavaScript代替jquery来操作dom 转自【B5教程网】:http://www.bcty365.com/content-146-3661-1.html

    最近在用mui写页面,当然了在移动App里引入jq或zepto这些框架,肯定是极不理性的.原生JS挺简单,为何需要jq?jq的成功当时是因为ie6.7.8.9.10.chrome.ff这些浏览器不兼容 ...

  4. SQL 表连接查询出现重复列,由此理清LEFT JOIN、INNER JOIN的区别

    1.先创建两个临时表,并插入数据 CREATE TABLE #TEMP1( ID INT IDENTITY(1,1) PRIMARY KEY, name NVARCHAR(50)) CREATE TA ...

  5. LeetCode 290 Word Pattern

    Problem: Given a pattern and a string str, find if str follows the same pattern. Here follow means a ...

  6. PE读写

    // 仿PE文件.cpp : Defines the entry point for the console application.// #include "stdafx.h"# ...

  7. splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

    删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素: <script type="text/javascript"> var arr = new Ar ...

  8. Datazen图表创建和发布

    Datazen是被微软收购的移动端全平台的数据展现解决方案.此篇主要介绍如何创建和发布图表. 如前面介绍,Datazen图表的创建和发布是通过Publisher的应用,它是Windows 8应用商店下 ...

  9. mysql命令行修改字符编码

    1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...

  10. TDD学习笔记【五】一隔绝相依性的方式与特性

    前言 在上一篇文章中,提到了如何通过 IoC 的设计,以及 Stub Object 的方式,来独立测试目标对象. 这一篇文章,则要说明有哪些设计对象的方式,可以让测试或需求变更时,更容易转换. 并说明 ...