system.net.sockets.socketexception (10013) 以一种访问权限不允许的方式做了一个访问套接字的尝试

alexlee 2024-2-20 459 2/20

最近要学习新的项目开发,学习新的框架,公司后台使用的是asp.net core 平台下的技术。

一打开项目就报了如下错误

unable to start kestrel system.net.sockets.socketexception (10013) 以一种访问权限不允许的方式做了一个访问套接字的尝试。

这个错误一般都是端口被占用了,在网上搜索了一大堆的教程,都是反应同一个错误,端口占用的问题。

那接下来,我就来总结下,我是如何解决这个问题的,分享下解决问题的过程。

  1. 首先大家要知道,自己的程序是使用什么端口的,否则就很难定位了,哪个端口被占用了。
  2. 使用命令 netstat -ano|findstr 6379 (占用的端口号)如下图所示:可以清楚看到是多少个程序占用了 6379 这个端口。
  3. system.net.sockets.socketexception (10013) 以一种访问权限不允许的方式做了一个访问套接字的尝试

4. 使用 tasklist |findstr 7316 这个是(pid 进程id)  我们可以看到这里是 redis 程序占用了 6379 这个程序。

system.net.sockets.socketexception (10013) 以一种访问权限不允许的方式做了一个访问套接字的尝试

5. 使用 taskkill /pid 7316 /F  终止到 pid  7316的进程。

通过以上的多个步骤,重复以上的方法来进行,端口的释放,直到端口不再被任何程序占用后。

 再次使用 netstat -ano|findstr 6379 命令查看是否有程序占用该端口,直到查找不到列表,就表示没有程序占用该端口。

经过上边一系列的操作后,公司的程序终于可以正常运行起来。

经过排查问题的总结,遇到事情千万不要慌张,要慢慢诊断问题的所在,假如你无法断定运行的程序是使用哪个端口的情况下,解决问题就相当困难。所以正常来说,必须要确定自己所运行程序的端口号。

有些解决方案是有直接报错,报哪个程序的端口无法正常绑定,在没有的情况下,就要自己去确定端口号了。这端口号的确定就要根据自己的程序来决定,这里就没有办法细讲了。

 

以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。

要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。

- THE END -
最后修改:2024年2月20日
0

共有 0 条评论