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

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

相关推荐
郝学胜-神的一滴17 分钟前
Effective Modern C++ 条款34:优先考虑lambda而非std::bind
开发语言·c++·程序人生
D_evil__26 分钟前
[C++高频精进] 网络编程:网路基础
c++
mjhcsp29 分钟前
P1220关路灯mjhcsp
c++·动态规划
火山灿火山30 分钟前
Qt信号和槽
开发语言·qt
橙子味de巧克力44936 分钟前
【DataGrip】JetBrains 专业数据库 IDE!全流程管理 + 永久补丁(详细安装指南)
ide·windows
kyle~39 分钟前
算法与数据结构---并查集(Union-Find)
数据结构·c++·算法
茉莉玫瑰花茶42 分钟前
ProtoBuf - 1 - 下载和环境配置
开发语言·c++·protobuf
_OP_CHEN1 小时前
C++进阶:(十六)从裸指针到智能指针,C++ 内存管理的 “自动驾驶” 进化之路
开发语言·c++
IDOlaoluo1 小时前
RedisStudio-en-0.1.5.exe 安装步骤 详细教程(附安装包)
windows
LNN20221 小时前
深入解析 Qt 中触摸屏热插拔的实现细节:m_notify 的生命周期管理(1)
linux·arm开发·qt