• 使用个推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的问题。

  • 相关阅读:
    2021 2月 构建之法读书笔记
    2021 2 7 体温登记App开发总结
    2021 2 3android开发学习笔记 8
    2021 2 2 android开发学习笔记 7
    2021 1月 梦断代码读后感
    2021 2 1 android开发学习笔记 6
    2021 1 31 Android开发 学习笔记 5
    2021 1 28 android开发学习笔记 4
    2021 1 27 android开发学习笔记3
    Java作业(一)
  • 原文地址:https://www.cnblogs.com/randytech/p/7121573.html
Copyright © 2020-2023  润新知