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

一、背景:
  昨天我们亲密的战友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. kettle系列-kettle管理平台部署说明

    本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...

  2. Ext.js的store里放model,还是field?

    按别人的经验, 一般来说,如果通用性强的应用,STORE里存放MODEL,便于重用代码. 如果通用性较弱的(报告,图表),则考虑使用field进行定制.

  3. 【Android】一道Android OpenGL笔试题

    一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...

  4. .NET 需要处理的高性能WEB架构 - .NET架构

    1.如果不想被微软包围(其实微软的一套并不贵,是被谣言传高了),数据层依然可以选择SQL Server数据库和存储过程. 2.缓存不再依赖.net自身提供的缓存机制,迁移到部署在Linux平台上的分布 ...

  5. CozyRSS开发记录14-RSS源管理初步完工

    CozyRSS开发记录14-RSS源管理初步完工 1.添加源的响应 DialogHost.Show有几个版本的重载,加一个DialogClosingEventHandler参数.我们让添加源对话框的添 ...

  6. IMEI串号

    IMEI串号就是国际移动设备身份码,是电子设备的唯一身份证,由于它的唯一性,它可以用来查询电子设备的保修期还有产地,可以说用处直逼人民的身份证啊! 在拨号键盘页面  输入[*#06#]五个字符

  7. swift 手机号码正则表达式 记录一下

    func isTelNumber(num:NSString)->Bool { var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$&qu ...

  8. 进击的Python【第二十章】

    1.Django请求的生命周期 路由系统 -> 试图函数(获取模板+数据=>渲染) -> 字符串返回给用户 2.路由系统 /index/ -> 函数或类.as_view() / ...

  9. 【CentOS】LAMP相关4

    MySQL不支持TAB补全.mysql_history命令历史 用SOCKET形式登陆:mysql -uroot -p123456,mysql -uroot -p123456 -S /var/lib/ ...

  10. 在iIBatis中使用MySql中出现的配置问题

    1.首先需要下载mySQL-connector-net的安装包.可以通过下面两种方式,第一种是需要安装的,第二种是直接可以下载使用的. 第一种: http://dev.mysql.com/downlo ...