windows判断本地服务端口被哪个应用占用

背景

我的一个现有qt应用会启动一个websock服务,需要用到127.0.0.1 的某个端口,以19898端口为例。启动后,我的另一个应用会连接该websock服务后,连接该服务成功。每次都可以成功连接,但是收不到消息。

分析

  • 测试服务连接

使用telnet 127.0.0.1 19898,服务可以连接。

cmd 复制代码
telnet 127.0.0.1 19898

我杀掉启动websock服务的进程,再次使用telnet 127.0.0.1 19898,发现服务还是可以连接。

那么,这个端口肯定是被其他应用给占用了

解决

  • 查看端口占用情况

使用netstat命令查看端口占用情况,我这里只关心我关注的端口19898

cmd 复制代码
netstat -ano | findstr 19898

可以看到确实该端口被占用了

可以看到占用端口的进程id为 10568

  • 根据进程id查询对应应用信息
cmd 复制代码
tasklist | findstr 10568

可以看到是这个程序占用了我们的端口。(当然我知道这个程序,是我另一个应用的程序),所以我杀掉该应用程序。

现在再启动带websock服务的那个应用,接收消息都正常了

当然处理该问题最简单的方式就是换个端口。(但是就是想看看为什么可以连接成功,但是就是接收不到消息)

相关推荐
鸭子程序员14 小时前
c++ 算法
开发语言·c++·算法
不会c嘎嘎15 小时前
算法百练,直击OFFER -- day5
c++·算法
序属秋秋秋15 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
27399202915 小时前
AES加解密(QT)
qt
乌萨奇也要立志学C++15 小时前
【洛谷】二分查找专题 告别二分死循环!模板 + 细节 + 实战
c++·算法
Rock_yzh15 小时前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
wheeldown15 小时前
【Rokid+CXR-M】基于Rokid CXR-M SDK的博物馆AR导览系统开发全解析
c++·人工智能·ar
利刃大大16 小时前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别
晨非辰16 小时前
C++ 波澜壮阔 40 年:从基础I/O到函数重载与引用的完整构建
运维·c++·人工智能·后端·python·深度学习·c++40周年
艾莉丝努力练剑19 小时前
【C++:C++11】C++11新特性深度解析:从可变参数模板到Lambda表达式
c++·stl·c++11·lambda·可变模版参数