listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is nor

最近用beego,运行时有时会出现错误:
ListenAndServe: listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted 通常每个套接字地址(协议/网络地址/端口)只允许使用一次

经过搜索发现这个提示是在端口冲突的时候出现,可能的原因是在服务器程序中创建一个Socket打开一个端口后,在程序结束的时候没有关闭这个Socket,因此下次启动程序就会出现这个错误提示,解决方法:

1、在服务器程序结束的时候要关闭Socket

2、或者更换端口号

3、重启机器

Win7系统快速查看端口号和pid进程号:
1.按下Win+R键,输入CMD,打开命令行。

2.在CMD窗口中输入netstat -aon|findstr ,表示要查看的端口号。
以netstat -aon|findstr 80为例:
3.从下图可以看出有程序在占用了80端口,最右侧是占有这个程序的进程ID:2996;
这里写图片描述
4.知道了进程ID,我们只需要查出2996是哪个程序就可以了;继续输入以下命令:tasklist|findstr “2996”,2996就是之前的进程ID。
这里写图片描述
关闭对应的进程

    taskkill /F /IM httpd.exe  

    1

查看端口状态

netstat -aon

原文:https://blog.csdn.net/wf592523813/article/details/78897874
 

你可能感兴趣的:(listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is nor)