我想打开一个使用Java的命名pipe道,并将该存档的内容(rar / zip / etc ..)提取到一个已命名的pipe道,然后使用该pipe道的位置运行Mplayer并播放该电影。
我试图用这个项目CLIPC在Java中打开IPC,但是我的代码在fifo.openWriter()中冻结。 线
FIFO fifo = new FIFO("jtpc_fifo"); fifo.create(); fifo.openWriter();
我尝试过,在java中创build一个小型服务器Socket,等待连接并将video文件内容作为原始数据发送,但是我不知道如何告诉mplayer通过networking获取原始数据。
我想使用pipe道,因为我认为它是最好的解决scheme,没有物理和大型文件处理,它的易变性和最灵活的
在Linux和Windows上与C#进行进程间通信
在C中使用单个消息队列是双向通信
如何发送大于4k的查询从sql缓冲区到Emacs中的sql-MysqL缓冲区?
subprocess在读入协处理后挂起
这是我现在正在尝试,使用套接字,但Java服务器套接字接受连接只有在MPlayer失败超时
mplayer http://localhost:5555/file.raw
try{ String file = "D:\tmp\lie.to.me.201.the.core.of.it-sitv.mkv"; ServerSocket socket = new ServerSocket(5555); System.out.println("UnrarTest.main() START"); Socket s = socket.accept(); System.out.println("UnrarTest.main() ACCEPT"); final InputStream sin = s.getInputStream(); new Thread(){ public void run(){ try{ while(true){ if(sin.available() > 0){ int read = sin.read(); System.out.println((char)read); } } }catch(Exception ee){ ee.printstacktrace(); } } }.start(); final OutputStream sout = s.getoutputStream(); final FileInputStream fin = new FileInputStream(file); new Thread(){ public void run(){ try{ while(fin.available() > 0){ int in = fin.read(); System.err.println(in); sout.write(in); } }catch(Exception ee){ ee.printstacktrace(); } } }.start(); }catch(Exception e){ e.printstacktrace(); }
睡觉时,按住boost :: interprocess :: scoped_lock导致它永远不会被释放
有没有可能在Linux上更改命名pipe道的大小?
在java中命名pipe道
比较Unix / Linux IPC
有没有什么东西与信号量相反
Windows“命名管道”与POSIX命名管道绝对没有关系,尽管它们的名称不同。
Windows命名管道是在客户端/服务器构造中实现的。 服务器“创建”创建服务器的管道和客户端联系人。 如果服务器“死亡”,则管道自动销毁,而基于文件系统的POSIX命名管道允许在文件系统上进行中间存储。
Windows命名管道与套接字的使用相当,可以很容易地使用套接字。
我不确定在Win32平台(或Win32本身)上CLIPC支持的管道有多好。 为了节省您的时间使用套接字,它们在Java / Win32上受支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。