rpc编程常见问题

1、1703、1704、1700

  现在看到这些数字,依然很抓狂,不造是什么情况,最先是使用visual studio 编译client和server端,总是有这些问题存在,后来使用vs命令行,参考http://www.cppblog.com/jb8164/archive/2008/04/28/48368.html ,不过我在编译时候并没有加上 /D_WIN32_WINNT=0x500(这个就是定义了一个宏,查了下是指定机器win2000.)


2、5L

  按照上述做法,重新编译了上述程序,但还是有个问题:rpc拒绝访问。cmd下使用netstat -ano查看端口占用情况,发现我指定的那个端口是在listening状态,所以这样的话,排除了代码本身的问题,应该是哪里做了限制,查了windows组管理、发现并没有rpc或com的信息,然后确保以下的DHCP client、RPC EndPoint Mapper和RPC服务是开启的。


 依旧不行,可能是win7权限问题?百度了下,原来是rpc存在安全性问题,如果允许所有的话,需要设置安全属性。参考链接: http://zygjsvip.blog.51cto.com/5686243/985462

 

  // 注意:从Windows XP SP2 开始,增强了安全性的要求,如果用 RpcServerRegisterIf() 注册          // 接口,客户端调用时会出现 RpcExceptionCode() == 5,即Access Denied 的错误. 因此,必          // 须用 RpcServerRegisterIfEx 带 RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 标志允许客户端直          // 接调用。  
http://rosehacker.blog.51cto.com/2528968/492033


你可能感兴趣的:(云平台)