Java中进程间的数据传输

littlefish00 2001-06-13 09:39:00
请教在JAVA中如何实现进程间的数据传输?
现在需要有一个程序B,而它收到的数据是从其它各个进程(A0、A1、A2...)发过来的,在UNIX中如果用C来实现可以用消息队列来实现,但在JAVA中不知该如何实现,同时还希望不失去JAVA的跨平台特性。
现在我用ServerSocket来实现,即在程序B中起一个ServerSocket监听其它进程(A0、A1...)传输数据。但总觉得还是有点不足,因为各个进程可能是不同的程序,它们同ServerSocket的连接可能有的是长连接(Socket发送数据后不关闭),有的是短连接(Socket发送数据后关闭),而如果用消息队列来实现的话就方便多了。
顺便问一下在JAVA中是否提供了共享内存等东西。
...全文
132 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Kert_ake 2001-06-13
文件可以么?
  • 打赏
  • 举报
回复
littlefish00 2001-06-13
  • 打赏
  • 举报
回复
虎叔 2001-06-13
你现在的方法不是挺好吗!
  • 打赏
  • 举报
回复
littlefish00 2001-06-13
初一看,文件好象也行,但仔细想了一下还是比较困难,理由如下:
如果用文件来实现肯定是多个进程A0、A1、A2往一个指定的文件中写内容,而另一个程序B则不停地读这个文件并处理。在处理时有两种方法,一种是处理了一块内容后就在文件中把此内容删除掉,另一种处理方式是如果这块内容有个是否处理的标记,当处理完后把这个标记记上。但如果用读后删除的方式的话实现有点难,而且即使实现了对于效率也不高,因为所有对此文件的操作都将阻塞其它进程,对于处理后作标记的做法:当此文件的记录条数多的时候将会造成文件大小不断增大,尤其是当数据传输量大的时候。
而用RMI也不行,因为在这里进程A0、A1我并没有限制它们用JAVA来实现,它们可以用其它语言来实现。
  • 打赏
  • 举报
回复
mountainwang 2001-06-13
用rmi吧
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
申请成为版主
帖子事件
创建了帖子
2001-06-13 09:39
社区公告
暂无公告