服务器回调客户端问题(100分)

  • 主题发起人 主题发起人 阿P
  • 开始时间 开始时间

阿P

Unregistered / Unconfirmed
GUEST, unregistred user!
我下载了huizhang 在http://www.netdrive.com/~oldpeasant/MyPublicFiles/
中的ChatServer的例子,运行后出现这种情况:客户端与服务器端用相同的
用户名登录则正常,而用不同登录名则“拒绝访问”,哪怕两个登录名都属
Administrators组也不行,为什么?哪位高手能帮帮我?

注:我用的是NT4.0 、Win98 ,DCOM配置我想应没问题,因为我别的DCOM
程序也是这样配置的,一点问题没有;而且我仿照ChatServer例子编了个
程序,TChatServer.Login 时不回调,那么Login是OK的,然后客户端执行
到Event.Connect(ChatServer)时才“拒绝访问”。
 
往前拉?什么意思?
 
如果使用的是Delphi5,用D5的 Import TypeLib把那个TypeLib Import进来,不要用
原来的EventsSink
 
没找到CHATSERVER。
 
老屯的方法我试过了,还是不行。
天啊,为什么这么少人回答我的问题呢?是不是嫌分少了?我再加100分!
 
老屯,你能不能再详细说一下你的方法?也许我的理解有误?
 
被拒绝是因为你的DCOMCNFG设置有问题 应该给客户机器的用户一足够的权限
另外应该把用户设置成InteractiveUser
 
客户机器的用户已有足够的权限:Administrator
也设成交互用户了,依然如旧。
 
1.win98设成用户级共享
2.win98中的COM对象给与NT下的Administrator访问权限
 
请注意:“TChatServer.Login 时不回调,那么Login是OK的”,这证明
我的DCOM设置是对的,就是那Event.Connect(ChatServer)不知道怎么回事。
 
我也是。
我试出来在同一个域能成功,其他都是服务器程序被激活后客户端出现"Access Denied"
 
to P:
Configure DCOM Server
1. Login as one of the Administrators in the machine that will host the
DCOM Server
2. Run | DCOMCNFG.EXE
3. Set Default Properties
3.1. Click "Default Properties" tab
3.2. Check "Enable Distributed COM on this computer
3.3. Set "Default Authen
tication Level" to "Call"
3.4. Set "Default Impersonation Level" to "Identify"
4. Set Default Security
4.1. Setting "Default Access Permissions":
In the edit window, give INTERACTIVE, NETWORK, and SYSTEM the rights
for "Allow Access"
4.2. Setting "Default Launch Permissions": in the edit window, give
INTERACTIVE, NETWORK, and SYSTEM the rights for "Allow Launch"
4.3. Setting "Default Configuration Permissions": better leave this as default.
if the default is blank: give CREATOR OWNER, Administrators, and SYSTEM
users "Full Control".
Rember:do
not mess up with this settings, otherwise it will cause your
system, even your internet exploror, not working.
5. Set DCOM Server Application Level Properties
5.1. Select the name of your DCOM Server object on the Applications list
5.2. Click "Properties" button
5.3. On General: Leave Authen
tication Level as "Default"
5.4. On Location: Check "Run application on this computer" and leave other
two unchecked
5.5. On Security -- "access permissions": choose "Use custom access
permissions", in the edit window add SYSTEM, EVERYONE and give them
the right "Allow Access"
5.6. On Security -- "launch permissions": choose "Use custom launch
permissions", in the edit window add SYSTEM, EVERYONE and give them
the right "Allow Launch"
5.7. On Security - "configuration permissions": Choose "Use default
configuration permissions"
5.8. On Identity, choose "The interactive user"
5.9. OK to finish Application properties
6. OK to end the DCOM configuration

to z_cd:
DCOM Object can be created accross differentdo
mains, but thedo
mains
must be trusted each other.
 
阿P 搞定了没有?
 
阿P,阿P,阿P 搞定了没有?
 
阿P,我搞定了耶!
因为可连接对象要访问客户端的IConnectionPoint,而客户端的接口IConnection
访问权限没有地方设置。不过可以将你的DCOMCNFG中的默认安全性中访问权限设给
NETWORK成员,这时Event.Connect(ChatServer)调用就通过了。
不过接下来可能会还有一个错误:如果你客户端没有注册服务器端的应用程序的话,
会报错“不支持该接口”,因为这时客户端要实现服务端的自定义事件接口,只要在
客户端注册服务端的自定义事件接口(比如是IChatServerEvents)即可通过。其实如
果你已经在客户端运行过服务端程序,就根本遇不到该错误。
说起来,DCOM设置可真烦,MTS就好一点(用到可连接对象时客户端还要注册、设置
安全性)
 
对不起,z_cd、老屯等各位大虾,前段时间因为出差无法上网,所以……
刚想按z_cd所说的试试,却又出现了另外的错误:“RPC 服务器太忙,无法完成此项操作”
WHY???出错语句仍是Event.Connect(ChatServer)。
 
换台服务器试试?
 
后退
顶部