N******K 发帖数: 10202 | 1 多个进程互相通信
不用搞什么shared memory什么的
直接开一块1G的内存当硬盘用
然后用 tcp socket 当文件写好后 发消息 进行读取就好了 |
g*****g 发帖数: 34805 | 2 你直接network IO不是更简单。
【在 N******K 的大作中提到】 : 多个进程互相通信 : 不用搞什么shared memory什么的 : 直接开一块1G的内存当硬盘用 : 然后用 tcp socket 当文件写好后 发消息 进行读取就好了
|
N******K 发帖数: 10202 | 3 制定一套基于tcp的协议? 麻烦死了
我就用json文件 互相传数据
【在 g*****g 的大作中提到】 : 你直接network IO不是更简单。
|
g*****g 发帖数: 34805 | 4 这不是一个webservice 就干了,无数的轮子存在。
【在 N******K 的大作中提到】 : 制定一套基于tcp的协议? 麻烦死了 : 我就用json文件 互相传数据
|
n****1 发帖数: 1136 | 5 anonymous pipes/unix socket/tcp socket更简单, 还不用考虑race condition |
N******K 发帖数: 10202 | 6 c++轮子少
【在 g*****g 的大作中提到】 : 这不是一个webservice 就干了,无数的轮子存在。
|
g*****g 发帖数: 34805 | 7 webservice是入门级轮子,是个语言就有。
【在 N******K 的大作中提到】 : c++轮子少
|
N******K 发帖数: 10202 | 8 本质是传json文件 类似 这种东西
基于tcp socket 你是不是得写个类似ftp的协议?
【在 n****1 的大作中提到】 : anonymous pipes/unix socket/tcp socket更简单, 还不用考虑race condition
|
N******K 发帖数: 10202 | 9 Qt可能有 尚未发现 我再看看
【在 g*****g 的大作中提到】 : webservice是入门级轮子,是个语言就有。
|
n****1 发帖数: 1136 | 10 json文件还是json object?
json文件的话直接可以在file descriptor上用read/write. Object传输用REST协议,
不需要造轮子。
【在 N******K 的大作中提到】 : 本质是传json文件 类似 这种东西 : 基于tcp socket 你是不是得写个类似ftp的协议?
|
|
|
n****1 发帖数: 1136 | 11 其实你这个idea很像plan 9里面的“一切皆是文件”的想法。 但即使是plan 9的通信
也是用9p协议, 和REST是类似的。 |
N******K 发帖数: 10202 | 12 我用的是windows
除了json文件 还有数据文件.data 可以上G REST能干这个?
,
【在 n****1 的大作中提到】 : json文件还是json object? : json文件的话直接可以在file descriptor上用read/write. Object传输用REST协议, : 不需要造轮子。
|
n****1 发帖数: 1136 | 13 你到底要做IPC还是data persistence? 保存为文件当然可以同时解决两个问题,但这
就好象同时用办公桌干活与吃饭一样, adhoc不专业。 个人项目没问题, 集团项目就
该被批。
data persistence不是本来就该放文件里面么? 难道你的IPC通信需要上G? 如果是的
话你的架构设计也太离谱了。
【在 N******K 的大作中提到】 : 我用的是windows : 除了json文件 还有数据文件.data 可以上G REST能干这个? : : ,
|
n***e 发帖数: 723 | 14 本地tcp可以看作是reliable的,所以如果你要跨平台solution,直接开tcp port传就
结了。 |
n****1 发帖数: 1136 | 15 tcp哪怕是网络上也是reliable的, udp在本地上可能比较reliable但没有保证, 而且
有长度限制, unix datagram socket是系统文档里面保证绝对reliable的。
Datagram的好处就是容易接收和处理长度不定的多个json object, 每个object包在一
个packet里面. TCP的话不知道一个object长度多大, 而REST确实有点overkill.
【在 n***e 的大作中提到】 : 本地tcp可以看作是reliable的,所以如果你要跨平台solution,直接开tcp port传就 : 结了。
|
n***e 发帖数: 723 | 16 是这样,tcp我的经验里面还是有可能会断的。当然现在好像这个问题越来越不明显了
。本地出现奇葩问题的几率几乎可以忽略不计。
另外tcp其实你也可以做成流模式或者块模式。所以如果跨平台其实是个好的solution
。UDP的一个问题是包长65536字节的长度限制。如果传的包大于那个大小就必须自己做
协议处理数据块了。
unix domain(?) socket就没用过了。。。有机会看看,恩
unix
【在 n****1 的大作中提到】 : tcp哪怕是网络上也是reliable的, udp在本地上可能比较reliable但没有保证, 而且 : 有长度限制, unix datagram socket是系统文档里面保证绝对reliable的。 : Datagram的好处就是容易接收和处理长度不定的多个json object, 每个object包在一 : 个packet里面. TCP的话不知道一个object长度多大, 而REST确实有点overkill.
|
N******K 发帖数: 10202 | 17 本人搞图像分析 数据很大 会上G
tcp只能保证buffer你发出去的能收到 难道把buffer搞到文件上限 比如10G?
tcp是没有文件概念文件的 你得自己定义简单协议 比如 起始报文 终止报文
远程搞 可能出问题 应为应用层自己搞的协议太简单 弄不好 文件就散架了
所以说 远程就用ftp好了
REST这东西不是很熟 如果用来传文件 能上G 底层用的是tcp?
solution
【在 n***e 的大作中提到】 : 是这样,tcp我的经验里面还是有可能会断的。当然现在好像这个问题越来越不明显了 : 。本地出现奇葩问题的几率几乎可以忽略不计。 : 另外tcp其实你也可以做成流模式或者块模式。所以如果跨平台其实是个好的solution : 。UDP的一个问题是包长65536字节的长度限制。如果传的包大于那个大小就必须自己做 : 协议处理数据块了。 : unix domain(?) socket就没用过了。。。有机会看看,恩 : : unix
|
n***e 发帖数: 723 | 18 REST的话是基于http,传传消息很方便,传个上G的数据的大文件不经济,很多
overhead。TCP传1G的数据虽然无压力但也有延迟。这样说其实你现在的solution是最
好了。
【在 N******K 的大作中提到】 : 本人搞图像分析 数据很大 会上G : tcp只能保证buffer你发出去的能收到 难道把buffer搞到文件上限 比如10G? : tcp是没有文件概念文件的 你得自己定义简单协议 比如 起始报文 终止报文 : 远程搞 可能出问题 应为应用层自己搞的协议太简单 弄不好 文件就散架了 : 所以说 远程就用ftp好了 : REST这东西不是很熟 如果用来传文件 能上G 底层用的是tcp? : : solution
|