- 论坛徽章:
- 0
|
本帖最后由 keytounix 于 2011-11-18 09:58 编辑
谢谢了,就是奇怪问问,比如是否有那些情况下用socket比其他三个好,或者说有什么理由非得用socket而不 ...
hokuhouhi 发表于 2011-11-17 17:57
socket机制是需要网络协议支持的
我说说不用socket的情况吧
如果你做的是嵌入式系统
你会发现网络协议很占空间的
比如你用交叉编译器编译好一个可用的内核,
可能大小只有900kB,这个因为是单机,
不上网络协议也就可以用了
如果你需要利用socket,那么就需要在Make menuconfig时候,选择相关的
网络协议
可能编译好后就有1.5MB了
在嵌入式上需要考虑空间这个东西,
因为
一个zimage文件的大小,可能直接影响到生产时候的烧录速度,也就影响到效率了
一个zImage文件的大小,可能超过ubuoot设置的分区大小,这个时候需要动uboot,很麻烦
还有,我碰到过,因为上了boa,导致socket失效的
这个是因为boa和socket通信没配置好
这个是不推荐用socket的情况
IPC机制有些什么东西呢?
一个是信号量,这个是实现进程或者线程同步的,也可以叫数据通讯咯,
百度 sem_open,第一篇文章就是讲述不同的应用程序间通过sem实现同步的,
也给你一个源代码,linux下调试通过的
http://hi.baidu.com/andio/blog/item/07bb5ec270e3bb26e4dd3be4.html
一个是消息体,这个是实现进程间信息通信的,个人习惯 小量数据,规则的数据用这个,
如果你一次要传递几个KB的数据,还是用socket
再一个是内存共享,没什么研究,个人一般不用,
以上是个人见解,欢迎指正 |
|