zoukankan      html  css  js  c++  java
  • 使用个推C# SDK后服务器出现大量端口显示为CLOSE_WAIT

    问题起因

    象往常一样登录下APP,结果提示服务器端接口错误。吓得我赶紧上服务器上看看。

    第一步:检查原因

    因为只要服务器出错,后台会通过Log4net记录错误日志,看看日志怎么说。

     

    关键字是“超出本地计算机网络适配器卡的名称限制”,google一下,大概意思是本地端口被占用完了。不能响应了。

    第二步:检查下端口占用,打开cmd,输入“netstat -an”查看下端口占用。

    超级多的本地端口被打开,状态为CLOSE_WAIT。对方的端口搜索了下,没有明显发现是哪家公司,但是就是这固定的2-3个IP地址。

    第三步:netstat -an没有显示具体是那个进程占用的。下载一个TCPView看看试试

    发现是进程ID为59872的进程占用的。

    第四步:打开任务管理器,显示PID。

    发现是一个IIS站点占用的,而且这个站点没有做任何事,只做推送。推送用的xx公司推送的SDK(就事论事,不说公司)。加上上面的IP地址访问后提示“没有正确的查找到Json接口”

    几乎可以确定是xx公司推送SDK的问题。

    回想一下,这个网站是做推送用的,当另外的站点调用这个站点做推送的时候,xx公司推送SDK提交一个http请求,但是没有释放。一直占用了这个端口。下一次推送又占用一个,一直到端口占用完毕。

    解决:

    第一步:先重启IIS,果然端口不占用了,访问也恢复正常了。

    第二步:与xx公司技术支持人员联系,修改SDK。虽然回馈还算及时,但是最终的结果是没有很好的办法。

    好吧,推送已经集成到了APP,不能轻易变动。只好把服务器的推送SDK从C#版本改成RestAPI了。改成RestAPI之后问题解决,也从侧面佐证了应该是C# SDK的问题。

  • 相关阅读:
    AsyncTask的用法
    关于 android setAnimationStyle 的问题
    android有关bluetooth常用api简介
    Android调用系统Activity选取图像部分区域
    Android 关于ListView几个特别的属性
    Android应用界面动画切换(主要Tabhost中跳转出来的动画效果解决[转]
    ✿Android 3.1 久违的 USB、mtp、rtp
    读《C++沉思录》心得:拷贝构造函数
    Cloud Foundy入门
    HDFS读文件详解
  • 原文地址:https://www.cnblogs.com/randytech/p/7121573.html
Copyright © 2011-2022 走看看