RPC远程调用时TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

本文主要是介绍RPC远程调用时TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

补充,在公司测试时虚拟机和主机连接测试时又出现了:port 22:No route to host的问题,查了一下发现时因为ip网段不同,因为虚拟机事直接挂起的没有关机,所有ip网段还是家里的网段,重启下就变回来了。


 

最近要学gRPC,先看了看RPC,上班的时候虚拟机测试都没问题,回家后想用台式和笔记本两台电脑测试下,结果发现台式访问笔记本没问题,笔记本访问台式会报错,报错信息如下,

TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

百度了一下相关问题太少,最开始以为是不是端口问题,换了几个端口不行,又想了想局域网通信是不是防火墙的问题的,果然发现台式机防火墙开着呢,关掉之后就好了,笔记本如果开防火墙同样连不上,确认是防火墙的问题了。

最后附上代码:

服务端:

#! /usr/bin/env python
# -*- coding: utf-8 -*-__author__ = 'xieyanke'from xmlrpc.server import SimpleXMLRPCRequestHandler, SimpleXMLRPCServer__HOST = '192.168.3.31'
__PORT = 8111class RPCHandler(SimpleXMLRPCRequestHandler):rpc_paths = ('/rpc',   # 定义 RPC 接口的请求地址)with SimpleXMLRPCServer((__HOST, __PORT), requestHandler=RPCHandler) as rpcserver:rpcserver.register_introspection_functions()def formate_data(str):return str.upper()def func1(num):return(num*num)rpcserver.register_function(formate_data, 'formate_data')  # 这里 'formate_data' 可以不与自定义的方法名字相同,只要 server 端与 client 端做好约定即可rpcserver.register_function(func1, 'call_rpc')  # 这里 'formate_data' 可以不与自定义的方法名字相同,只要 server 端与 client 端做好约定即可rpcserver.serve_forever()

 

客户端:

#! /usr/bin/env python
# -*- coding: utf-8 -*-__author__ = 'xieyanke'import xmlrpc.client__HOST = '192.168.3.21'
__PORT = '8112'server = xmlrpc.client.ServerProxy('http://' + __HOST + ':' + __PORT + '/rpc')  # 这里需要注意的是结尾的 ‘/' 必须存在,如果不绑定根,xmlrpc client 默认绑定的 url 为 host:port/RPC2# print(server.formate_data('hello,world!'))
print(server.call_rpc(4))


代码基本都是用的这位老师的,随便改了测试下:

https://www.jianshu.com/p/2fc47e4a2bbb

这篇关于RPC远程调用时TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049254

相关文章

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

Python实现局域网远程控制电脑

《Python实现局域网远程控制电脑》这篇文章主要为大家详细介绍了如何利用Python编写一个工具,可以实现远程控制局域网电脑关机,重启,注销等功能,感兴趣的小伙伴可以参考一下... 目录1.简介2. 运行效果3. 1.0版本相关源码服务端server.py客户端client.py4. 2.0版本相关源码1

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接