客户端调用服务器端函数的实现原理的问题,请大虾助我! ( 积分: 100 )

  • 主题发起人 主题发起人 LoveKilly
  • 开始时间 开始时间
L

LoveKilly

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端与服务器用命名管道技术通讯,服务器有一个函数原型如下function Login(const UserName, Password: WideString;var Cookie: WideString): Boolean;它根据用户名和密码验证用户登录是否成功,若成功则返回TRUE,且生成一个Cookie,否则返回FALSE。客户端要怎样将函数名、参数个数、参数值等信息发送到服务器端,服务器端调用相应函数后再将执行结果返回给客户端,请大虾们给个思路。
100分只给一个人,:)
 
客户端与服务器用命名管道技术通讯,服务器有一个函数原型如下function Login(const UserName, Password: WideString;var Cookie: WideString): Boolean;它根据用户名和密码验证用户登录是否成功,若成功则返回TRUE,且生成一个Cookie,否则返回FALSE。客户端要怎样将函数名、参数个数、参数值等信息发送到服务器端,服务器端调用相应函数后再将执行结果返回给客户端,请大虾们给个思路。
100分只给一个人,:)
 
我的意思是要自己实现!
 
三层技术:
用socket或UDP皆可
做一个消息服务器
客户端把参数传递到消息服务器段,当消息服务器受到消息时,执行你的函数,执行完成后,用用socket或UDP把结果传送到客户端就可以了.
 
to 红军:
好眼力,我也有这个想法耶,可否细说?
 
年初我也写了一个uCommand, 基本思想也是客户端调用任意服务器端的方法函数, 参见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3047144
我只用MIDAS实现了远程调用部分, 以后有空再用Socket实现(不过要考虑多线程并发、数据封包等,也很是烦恼)
 
服务器端有一个函数:function sum(a, b: Integer): Integer; safecall;
客户端端可以这样调SocketConnection1.AppServer.sum(1, 2);
我要实现的就是这种功能,自己实现。
 
你是要实现scktsvr的功能么?那就参考scktsvr的代码唠
 
to 迷糊:
  讲下原理嘛,看那些鬼东西头疼[:(]
 
推进使用RemObjects。
 
后退
顶部