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

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

相关推荐
山峰哥13 分钟前
EcMenu:解锁 Windows 右键菜单的终极自由
windows·性能优化·软件工程·鼠标右键菜单工具
Mr_WangAndy13 分钟前
C++23新特性_if consteval
c++·c++23·c++40周年·if consteval
落羽的落羽18 分钟前
【Linux系统】初探 虚拟地址空间
linux·运维·服务器·c++·人工智能·学习·机器学习
Drone_xjw21 分钟前
【CPP回调函数】以无人机系统为例梳理回调函数使用
c++·无人机
liu****21 分钟前
11.字符函数和字符串函数(二)
c语言·开发语言·数据结构·c++·算法
Tandy12356_22 分钟前
手写TCP/IP协议栈——以太网数据包处理
网络·c++·网络协议·tcp/ip
郝学胜-神的一滴31 分钟前
Linux中的alarm函数详解:定时器信号处理指南
linux·服务器·开发语言·c++·程序人生
郝学胜-神的一滴37 分钟前
Linux kill命令与kill函数:从信号原理到实战解析
linux·服务器·开发语言·c++·程序人生
起个名字费劲死了41 分钟前
基于Mingw64 tesseract 实现英文字符和数字识别
c++·qt·字符识别