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

相关文章

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装