一次解决套接字操作超时错误的过程

本文讲述了作者在Windows客户端使用QTcpSocket连接Ubuntu服务端时遇到的套接字超时问题,通过排查发现是由于端口被占用,最终解决了防火墙设置、端口占用和进程杀除的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:朱金灿
来源:clever101的专栏

  在windows客户端使用QTcpSocket连接一个ubuntu服务端程序,出现套接字操作超时的错误。开始感觉还莫名其妙的,因为之前连接都是好好的。首先检查是否是windows防火墙是否限制了应用程序通过。在windows防火墙上都设置允许应用程序通过后,依然出现套接字操作超时的错误。看来问题不是出在windows客户端,而是出在ubuntu服务端。我先判断ubuntu服务端的端口没有开放,先开放一下端口(我所用的端口为6802),运行命令:

# 开放6802端口
sudo ufw allow 6802
# 开启防火墙
sudo ufw enale
# 重启防火墙
sudo ufw reload
# 查看已经开启的端口
sudo ufw status

  开启6802端口后,启动服务端程序又出现一个bind port的错误,原来6802端口被占用了,绑定失败。因此需要查询一下被哪个进程占用了,运行命令:

netstat -ap|grep 6802

查询结果如下:
端口被占用

  可以看到6802端口已经被18645这个进程占用了。现在要把18645这个进程杀死,命令如下:

# 杀死ID为18645的进程
kill -9 18645

  至此问题得到彻底解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值