A. RPC服务器不可用该怎么处理
运行services.msc,打开服务窗口,找到Remote
Procere
Call
(RPC),设置为自动+启动,建议同时打开DCOM服务,试试吧!
B. 如何实现 RPC 框架的要点浅析
RPC 框架分层
我们可以对 RPC 框架进行抽丝剥茧,并从层次上把 RPC 分为四层:RPC 物理通讯层、
RPC 通讯协议层、RPC 连接会话层、RPC 应用层。
a. RPC 物理通讯层,根据实际用途可以选择合适的实际物理通讯协议:
1). 可以使用 TCP 网络通讯协议,直接调用套接字 socket 接口函数或者 IOCP 接
口函数进行封装;
2). 可以使用 UDP 网络通讯协议,但必须自己来维护数据包的时序、丢包重传、以
及虚拟连接状态。虽然使用 UDP 相对比较麻烦一点,但是 UDP 也有很多优点,
如:NAT 穿透相对容易、每包数据完整等等;
3). 可以使用 SHM 共享内存通信,用于同一主机不同进程之间的 RPC 调用,优点
是传输速度快,缺点是只能在同一主机上运行;
4). 可以使用第三方通讯模块接口,如:蓝牙、串口、USB连线接口等等。优点是可
以跨终端设备进行相互调用、缺点是受制于第三方通讯模块接口。
b. RPC 通讯协议层就是通讯双方的消息包定义,以及每种消息的数据组织,只需要负
责收发的数据流,具体如何收发数据由物理通讯层去处理。
1). 消息包 = <消息头> + [消息体],也就是说由消息头和消息体组成一个消息包;
2). 消息头必须含有:消息包ID、消息类型、消息体长度、函数ID和调用返回码。
消息头若要做得更完善还可以添加检验码等等,但消息头所占尺寸不宜太大,
否则 RPC 的调用开销就更大了。
3). 消息类型至少含有以下几种:
a). 心跳,含请求和应答;
b). 连接握手,含请求和应答;
c). 登录应用,含请求和应答;
d). 登出应用,含请求和应答;
e). 取定义集,含请求和应答,即读取已登录应用的函数定义集;
f). 调用函数,含请求和应答;
g). 函数取消,即取消已提交的调用函数请求;
h). 函数确认,即函数返回结果确认;
i). 发送数据,用于扩展 RPC 为数据包通讯。
c. RPC 连接会话层,负责通讯双方的连接状态管理,包括以下几个方面:
1). 通过连接握手来确认会话双方的合法性;
2). 通过心跳维护连接在线情况;
3). 通过登录应用来获取对方应用提供的函数定义集,只有知道函数的参数和返回
值定义才可以调用函数,函数定义是参数和返回值的序列化/反序列化前提;
4). 通过登出应用来关闭对端提供的函数调用;
5). 管理函数调用的整个生命周期;
6). 管理发送数据包缓冲队列、以及接收到数据包的处理。
d. RPC 应用层,负责应用内的函数定义、管理连接的登录登出、分配函数调用请求。
1). 在函数定义中,函数参数和返回值的数据类型要支持足够多,不同数据类型可
以便于数据展示,也增加了 RPC 框架的灵活性。同时被 RPC 调用的函数回调
类型要支持多种调用方式,可以适用于更多开发语言。
2). 在连接登录到应用后才可以接受函数调用请求,当连接登出应用后自动取消此
连接的所有函数调用请求;
3). 应用需要管理运行线程,用于执行已分配的函数调用请求。
C. 如何利用共享内存 实现rpc调用
关于RPC 路由器的实现主要分布在smd_rpcrouter.c、smd_rpcrouter_device.c、smd_rpcrouter_servers.c、smd_rpcrouter_clients.c等文件中。RPC路由器起着RPC服务器查询、RPC服务器和RPC客户端的注册和销毁,以及底层通信的封装功能,类似于TCP协议。
在实际的实现中,RPC路由器和RPC服务器均是作为一个虚拟的字符型设备来存在的。
下面是RPC路由器的创建过程:
代码3-11 RPC 路由器的创建过程
int msm_rpcrouter_init_devices(void)
{
int rc;
int major;
msm_rpcrouter_class=class_create(THIS_MODULE,
"oncrpc"); //创建设备节点
if (IS_ERR(msm_rpcrouter_class)) {
rc=-ENOMEM;
printk(KERN_ERR
"rpcrouter: failed to create oncrpc class ");
goto fail;
}
rc=alloc_chrdev_region(&msm_rpcrouter_devno,
0, //作为字符型设备分配资源
RPCROUTER_MAX_REMOTE_SERVERS + 1, "oncrpc");
if (rc<0) {
printk(KERN_ERR
"rpcrouter: Failed to alloc chardev region (%d) ", rc);
goto fail_destroy_class;
}
major=MAJOR(msm_rpcrouter_devno);
rpcrouter_device=device_create(msm_
rpcrouter_class, NULL, //创建设备
msm_rpcrouter_devno, NULL, "%.8x:%d",
0, 0);
if (IS_ERR(rpcrouter_device)) {
rc=-ENOMEM;
goto fail_unregister_cdev_region;
}
cdev_init(&rpcrouter_cdev, &rpcrouter_
router_fops); //字符型设备初始化
rpcrouter_cdev.owner=THIS_MODULE;
rc=cdev_add(&rpcrouter_cdev, msm_rpcrouter_devno, 1);
if (rc<0)
goto fail_destroy_device;
return 0;
fail_destroy_device:
device_destroy(msm_rpcrouter_class,
msm_rpcrouter_devno);//销毁设备
fail_unregister_cdev_region:
unregister_chrdev_region(msm_rpcrouter_devno, //去注册
RPCROUTER_MAX_REMOTE_SERVERS + 1);
fail_destroy_class:
class_destroy(msm_rpcrouter_class);
fail:
return rc;
}
D. 如何 在自己的路由器上封掉TCP/445等RPC DCOM能利用的相关端口 要具体方法 急
你的路由有端口过滤功能吗?
E. 在安装惠普打印机的驱动程序的时候,系统提示出现:安装设备时,出现一个错误 RPC 服务器不可用
安装软件时,出现“安装程序启动安装引擎失败,rpc服务器不可用”的解决办法。一般的情况下是DCOM Server Process Launcher 服务被关闭了,把它重新打开就好了!如果还不行,就要考虑以下下几点: 1、是否中了冲击波病毒?查杀病毒。2、重新启动RPC的方法,参考:大家 还记得肆虐一时的"冲击波"病毒吧?它利用RemoteProcereCall(简称RPC)服务的DCOM漏洞攻击基于NT内核的Windows 2000/XP/2003操作系统,很多用户为了躲避它的攻击,禁用了RPC服务。但当他们想再次启用RPC服务时却发现"RPC服务属性"页的"启动类型"下拉列表框和"启动"按钮变成了灰色,甚至根本找不到该服务的属性页。由于Windows服务之间有很强的相互依存关系,当RPC服务被禁用后,很多依赖于RPC服务的系统服务也不能正常运行(见图),如Messenger服务、Windows Installer服务等;另外,还可能导致某些应用程序运行失败和系统异常。下面笔者就介绍三种启动该服务的方法。方法一:修改注册表法点击"开始→运行",键入"Regedit"打开"注册表编辑器",展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs",将Start项的值修改为"00000002",重新启动系统即可。方法二:使用sc.exe命令点击"开始→运行",键入"cmd"进入"命令提示符"窗口,键入"sc config RpcSs start= auto"命令,系统会显示"SC ChangeServiceConfig SUCCESS",这样就可以成功启动RPC服务。注意:要想使用"sc"命令必须安装Windows 2000/2003 Resource Kit(资源工具包),否则使用该命令无效。方法三:使用故障恢复控制台以Windows XP系统为例,在光驱中放入安装光盘,并且在BIOS参数中设置为从CD-ROM启动;启动电脑后,系统进入到Windows XP安装界面,按下"R"键登录到故障恢复控制台。在故障恢复控制台下,键入"enable RpcSs service_auto_start"命令,然后再键入"exit"命令,重新启动系统,以正常模式登录,即可成功启动RPC服务。注意:"Enable"是故障恢复控制台提供的一个用来启动系统服务和设备驱动程序的命令,只能在故障恢复控制台下使用。参考资料: http://www.hp-hp.cn更精彩
F. 系统提示一个错误,RPC服务器不可用是什么意思
RPC服务器不可用意思是无法连接到远程的服务,解决方法是检查网络连接情况。
RPC服务器指的是远程过程调用协议:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
(6)rpc设备过滤扩展阅读
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。
首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
G. CAD不能打印,错误显示RPC服务器不可用,请问怎么解决
看来有可能中毒了,否则RPC服务不会意外终止的.
你到控制面板-管理工具-服务里头找到Remote Procere Call (RPC)服务,看看是否处于禁止状态,启动再看一下.
很多服务包括局域网打印机共享功能都依赖RPC服务的,这是一个非常重要的系统服务.
H. RPC服务不可用,解决办法!!!
RPC:远程过程调用协议
(RPC:Remote Procere Call protocol)
远程过程调用(RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议的存在,如 TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC 采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
目前,有多种 RPC 模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC PRC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。
协议结构
远程过程调用(RPC)信息协议由两个不同结构组成:调用信息和答复信息。信息流程如下所示:
RPC:远程过程调用流程
RPC 调用信息:每条远程过程调用信息包括以下无符号整数字段,以独立识别远程过程:
程序号(Program number)
程序版本号(Program version number)
过程号(Procere number)
RPC 调用信息主体形式如下:
struct call_body {
unsigned int rpcvers;
unsigned int prog;
unsigned int vers;
unsigned int proc;
opaque_auth cred;
opaque_auth verf;
1 parameter
2 parameter . . .
};
RPC 答复信息:RPC 协议的答复信息的改变取决于网络服务器对调用信息是接收还是拒绝。答复信息请求包括区别以下情形的各种信息:
RPC 成功执行调用信息。.
RPC 的远程实现不是协议第二版,返回 RPC 支持的最低和最高版本号。
在远程系统中,远程程序不可用。
远程程序不支持被请求的版本号。返回远程程序所支持的最低和最高版本号。
请求的过程号不存在。通常是呼叫方协议或程序差错。
RPC答复信息形式如下:
enum reply_stat stat {
MSG_ACCEPTED = 0,
MSG_DENIED = 1
};
相关协议
组织来源
相关链接 http://www.javvin.com/protocol/rfc1831.pdf:RPC - Remote Procere Call Protocol Specification Version 2 (ONC version)
http://www.javvin.com/protocol/rfc1057.pdf:RPC - Remote Procere Call Protocol Specification Version 2 (Sun version)
The IEEE defines RPC in its ISO Remote Procere Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC, November 1991.
I. win7开机提示RPC服务器啊可用,所有模式都进不了系统,有高手知道如何
终极密码破解方案:(最适合解除Win各个系统密码)
通过制作“电脑店”U盘启动盘来破解WINDOWS系统密码。
准备好一个大于4GB的U盘,格式化。
1、从电脑店U盘工具官方网站u.diannaodian.com -下载电脑店U盘启动制作工具V6.3到电脑。
2、在电脑上运行电脑店U盘启动制作工具V6.3程序,之前请尽量关闭杀毒软件和安全类软件(本软件涉及对可移动磁盘的读写操作,部分杀软的误报可能会导致制作失败!)本软件下载完成之后Windows XP系统下直接双击运行即可,Windows Vista或Windows7/8系统请点右键以管理员身份运行。
U盘启动制作:
1默认模式:
默认模式1.1:打开主程序,插入U盘/SD卡等可移动设备,在磁盘列表里会自动列出当前电脑中所有的可移动磁盘的盘符、型号、容量等信息。
默认模式1.2:选择你要制作启动的可移动磁盘,启动模式USB-HDD或USB-ZIP可选,默认采用USB-HDD模式。(chs模式主要针对某些不能检测的Bios,一般不需要勾选此项!如果你想把U盘剩余部分转成NTFS格式可以勾选NTFS选项,注意:格式化成NTFS会影响U盘启动部分功能的使用,除非需要存储超过4G的单文件,否则不建议勾选此项!)
默认模式1.3:尽量退出杀毒软件和安全类软件以免制作失败,点击“一键制作启动U盘”按钮,程序会提示是否继续,确认所选U盘无重要数据后点是开始制作.
(注意:使用电脑店U盘启动盘制作工具2.0以及之前版本制作过的U盘如果制作失败请先执行初始化U盘)
默认模式1.4:制作过程根据电脑配置和U盘芯片的不同耗时长短也不同,请耐心等待。制作完成后正确设置电脑BIOS即可从U盘启动了。为了验证U盘启动制作是否成功,可以运行模拟启动。
注:模拟启动仅供测试U盘启动是否制作成功,不可用于测试内部DOS和PE系统。
制作U盘启动盘完成后,重启电脑,通过BIOS,设置U盘为第一启动顺位,重新开机,选择U盘启动,回车,进入电脑店U盘启动功能界面,在菜单里选择:【8】运行Windows登录密码破解菜单,回车,然后选择:【1】或者【2】来进行密码清除或者修改,即可。
J. 服务 RPC Endpoint Mapper可以禁止吗
RPC,作为终结点映射程序(endpoint mapper)和 COM 服务控制管理器使用。如果此服务被停用或禁用,使用 COM 或远程过程调用(RPC)服务的程序工作将不正常。