免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5681 | 回复: 15
打印 上一主题 下一主题

请教Linux下可否像COM一样调用别的进程中函数? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-02 00:08 |只看该作者 |倒序浏览
5可用积分
想在LINUX下用C做一个DAEMON,在另一个或多个C或PHP实现的程序中调用该DAEMON中的函数,读取某些状态或指挥DAEMON去做一些事情,类似RPC或WIN32下COM的功能,但是不一定要通过网络跨主机,在同一台主机上实现就可以。请各位指点一下该用什么方法实现。(最好是比共享内存或消息队列省事点的)

最佳答案

查看完整内容

看楼主的用途,如果设计不充分的话,先用个文本形式的协议会更好一点,变动起来没有什么负担,就这边发送一个字符串过去,daemon解析一下,然后再调用具体的功能。这样对daemon中功能的调用只有一个入口,daemon中改动再大,只要这个入口不动就不需要修改其他程序。而且整个系统的状态数少,好分析。

论坛徽章:
0
2 [报告]
发表于 2008-03-02 00:08 |只看该作者
看楼主的用途,如果设计不充分的话,先用个文本形式的协议会更好一点,变动起来没有什么负担,就这边发送一个字符串过去,daemon解析一下,然后再调用具体的功能。这样对daemon中功能的调用只有一个入口,daemon中改动再大,只要这个入口不动就不需要修改其他程序。而且整个系统的状态数少,好分析。

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2008-03-02 00:19 |只看该作者
当然是socket,而且就用TCP/IP,而非domain socket,因为可能要跨机

论坛徽章:
0
4 [报告]
发表于 2008-03-02 00:27 |只看该作者
有没有直接封装好的库之类,程序中可以直接像调用函数一样使用,不用再去考虑协议、线程等等问题的?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
5 [报告]
发表于 2008-03-02 00:28 |只看该作者
.......没有协议,怎么通信.......

论坛徽章:
0
6 [报告]
发表于 2008-03-02 00:52 |只看该作者
程序只管调用封装的函数,比如daemon中提供的SendSomething函数,调用时直接很直观地调用该函数,不用再去实现Socket的连接,发送接收格式等。

论坛徽章:
0
7 [报告]
发表于 2008-03-02 09:04 |只看该作者

可以

com是基于windows做的,但是com原理是c++的,c语言也可以调用,为什么?
你看一下windows com那几个头文件,定义是两份,一份c,一份c++,你应该看不出来为什么,推荐一本书《com本质论》
简单的说,com是c和c++共有的对象调用二进制接口。

建议丢掉com吧,这个和c++编译器的面向对象效果实现方式是相关的。

[ 本帖最后由 yuanchengjun 于 2008-3-2 09:13 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2008-03-02 10:25 |只看该作者
CORBA

论坛徽章:
0
9 [报告]
发表于 2008-03-02 11:01 |只看该作者
原帖由 zjtjs 于 2008-3-2 00:52 发表
程序只管调用封装的函数,比如daemon中提供的SendSomething函数,调用时直接很直观地调用该函数,不用再去实现Socket的连接,发送接收格式等。

要自己封装吧。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2008-03-02 11:41 |只看该作者
man rpcgen
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP