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服务的那个应用,接收消息都正常了

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

相关推荐
随意起个昵称3 分钟前
线性dp-LIS题目5(导弹拦截,二分优化)
c++·算法·动态规划
winlife_4 分钟前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘
windows·算法·unity·ai编程·游戏开发·mcp·玩法系统
走好每一步9 分钟前
5、VTK刚体变换
qt·vtk·三维图像
光电笑映13 分钟前
进程间通信:深入 System V IPC:共享内存、消息队列与信号量
linux·运维·服务器·c++
宏笋26 分钟前
QT 隐式共享/写时复制详解
qt
a诠释淡然27 分钟前
C++模板元编程—现代C++的黑魔法
开发语言·c++
汉克老师28 分钟前
GESP2026年3月认证C++六级真题与解析(单选题1-8)
c++·多态··构造函数·循环队列·bst·gesp6级
charlie11451419135 分钟前
现代C++工程:constexpr 基础:编译期求值的艺术
开发语言·c++
小二·36 分钟前
Prompt Engineering 实战
网络·windows·prompt
fastjson_39 分钟前
使用 ventoy 安装WinToGo
windows