Bind failed! socket

1、今天调更新一个程序,竟然在我最没想到的地方发现了一个错误 Bind failed! 查。。查。。 三小时后解决 很坑。。。

第一步:在网上找了个查看端口状态的 命令 :

//引用别人的哈 传播正能量

开始–运行–cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选”查看”-“选择列”

    经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用

假如我们需要确定谁占用了我们的9050端口

1、Windows平台
在windows命令行窗口下执行:
1.查看所有的端口占用情况

C:>netstat -ano

协议 本地地址 外部地址 状态 PID

TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732

2.查看指定端口的占用情况
C:>netstat -aon|findstr “9050”

协议 本地地址 外部地址 状态 PID

TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016

P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)

3.查看PID对应的进程
C:>tasklist|findstr “2016”

映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K

P:很清楚吧,tor占用了你的端口。

4.结束该进程

C:>taskkill /f /t /im tor.exe

其他不懂的用 help吧~

///

经查,确实是我的程序占用了端口,但是为什么会失败呢?

因为机器是多网卡的,我又测试了其他IP地址,bind 成功了 。

换其他端口测试,还是成功了。

最后一个测试,我把程序关了,查看端口,竟然还是很本程序占用 ,瞬间无语了。。。

最后在任务管理器中,发现了一个“查看其他用户程序进程”的勾选,尝试勾了一下。。。

简直就是见证奇迹的时刻:我发现这个电脑上还有其他用户运行了我的程序,而且貌似一直没关。就心中瞬间一万只 “草泥马”飞过。。。。

果断结束进程。。。。

然后问题解决了。。。。

猜你喜欢

转载自blog.csdn.net/u012842273/article/details/49152681
今日推荐