一个远程调用的程序实现思路。 ( 积分: 300 )

  • 主题发起人 主题发起人 bergkampzhu
  • 开始时间 开始时间
B

bergkampzhu

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在正开发一个控制系统,主要是通过本机串口对下位机进行控制,本地也有自己的Access数据库,暂且称这台机为主机。该系统的功能应该说已经开发完备了。
问题是现在有这么一个要求:用户要求在局域网内部其他机子上也可以实现操作,即能够通过主机的串口来对下位机进行控制,同样要可以对主机的数据库进行操作。
由于本人对这一块不太了解,望各位大富翁不吝赐教,能够给个解决的例子或者一个思路。
 
我认为既然你现在上位机和下位机的功能已经完备了,那么最简单和对当前系统最小改动的方法是增加局域网间PC的通讯功能,这使用Socket可以很容易实现。

1.使用Socket API或者控件分别编写服务器(你所说的主机作为服务器)和客户端
2.自己定义命令报文
3.客户端发送命令报文,服务器收到后解析,得到命令,并执行
 
上位机(主机)的控制程序做成服务程序,局域网内其它客户端与主机通信,通过主机服务程序控制下位机。
 
同意muhx的方法
也可以把报文定义成对通讯指令的包装,服务器接到报文后,解包,直接发到下位机,
同时客户端需要告知服务器自己需要甚么数据,服务器接到此类数据后,打包成报文发到客户端,可以完成交互的通讯
 
那数据库呢?
 
数据库可以用 C/S 方式直接控制
 
不知道用分布式实现是否可行。
在.net下可以用Remoting把主机上运行的对象注册到通道上,这样客户端程序就像调用本地的对象一样调用过程主机上的对象,不知道Delphi下用否类似的方法去实现,还望达人们指教。
 
可以通过远程桌面控制主机,一行代码也不用写。 :-)

如果通过程序实现,几个建议:

1、数据库换成SQL-SERVER,这样数据库不用太多修改。
2、考虑几个客户端同时控制的问题。
3、主机下位机控制模块可以做成COM,方便远程调用。
 
关于数据库的操作,能否讲详细点?怎么用C/S方式控制,我用的是Access数据库,客户机至少要读取几张表的内容,最好能直接从数据库里读,实在不行就只能用报文发了。
 
给他装个dameware 远程控制算了,呵呵
 
写COM+程序,然后服务器与客户端通信就可以了。
 
找个木马程序的代码看看[:D]
 
用三层,socket,Dcom都可以,做成服务程序
 
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
 
对,改写,分装成三层的系统,就无所谓用局域网内,用哪台机器了..,都一样了
把主要业务功能封装成Com+既可.
 
多人接受答案了。
 
后退
顶部