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

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

为什么大多数人学不会人工智能编程?>>> hot3.png

  在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

  至此问题得到彻底解决。

你可能感兴趣的:(NetWork,socket,套接字操作超时)