【日常】python基础—网络编程Socket内网连接超时问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32740675/article/details/79561707

2018年3月14日

   因为这学期的《信息系统分析与设计》和《软件工程》都需要按流程做一个项目出来,我组选择了“大学生宿舍管理系统之前用c++和qt框架做过一点东西,这次打算学学web相关的知识。初步打算做出个前后端分离的宿舍管理系统web服务器;
    在实践《python核心编程》第二章,网络编程的时候,里面的Socket 客户端/服务端 代码能在本地完美运行,但我想把客户端和服务器分布在不同的机器上时却出现了问题..如 connect time outError10060
    因为开始是在手机上运行的python客户端脚本,确认端口号和地址都没错误,但总是出现 connect time out
因为在电脑上运行是没问题的,所以应该不是代码的问题,但一来没直接弹出连接失败或错误;二来手机上同时运行客户端服务器也能运行,所以机器和代码应该是没问题的。因为上学期学过网络原理,我开启了抓包软件,结果如下:
抓包结果

    嗯,就如上所示 192.168.0.104 是我手机的IP地址,192.168.0.103 是我电脑的地址,可以看出手机一直向电脑请求发出TCP连接,但电脑没有应答,直接忽略掉了。
    刚开始在百度上搜索 connect time out 以及 TCP连接无响应 出现的结果大略分为两种:
都说是时间戳问题:
什么关闭服务其端的tcp_timestamps
什么进入注册表修改tcp1323Opts的值
结果,发现问题不在这里,怎么处理也没用,可能是我描述问题的能力不行,最后才看到 大多数是防火墙问题 这句话,才把心思放到了防火墙身上,没错,就是防火墙问题。

解决问题只需要在防火墙中开放该TCP端口就解决了!
步骤如下:
    Step>1 打开win10的防火墙高级设置
    Step>2 点开入站规则中的新建规则
    Step>3 选择 端口 ,规则应用于 TCP 此规则应用于特定端口 [0-65535](和服务器连接端口一致)
    Step>4 设置完毕后保存
    
  最后我的设置如下:
防火墙设置
 浪费了两天时间的问题终于解决了….
 
  觉得麻烦可以直接关闭防火墙,觉得开放该端口不安全可以为防火墙入站规则中的该端口指定特定的程序。

猜你喜欢

转载自blog.csdn.net/qq_32740675/article/details/79561707
今日推荐