作者starskgb (Metal)
看板java
标题Re: [问题] java呼叫外部程式会当掉
时间Wed Apr 2 21:03:50 2008
结果是外部程式好像被暂停了,我把socket程式结束掉,vlc就开始动了
请问要怎麽让java程式不结束的情况下让vlc动起来呢??
※ 引述《starskgb (Metal)》之铭言:
: 只要用socket程式去call外部程式,外部程式就会当掉
: socket server程式如下
: class test {
: public static void main(String args[]) throws Exception
: {
: int serverPort = 80;
: ServerSocket welcomeSocket = new ServerSocket(serverPort);
: System.out.println("Server STARTed!!");
: int i;
: i = 0;
: while(true) {
: Socket connectionSocket = welcomeSocket.accept();
: i++;
: String s = Integer.toString(i);
: Runtime t = Runtime.getRuntime();
: Process pr=t.exec("D://vstream/run.bat");
: }
: }
: }
: bat内容:C:/Progra~1/VideoLAN/VLC/vlc.exe mms://url
: 但是我把socket的code通通拿掉,只留call bat那两行,vlc又能正常跑不会当掉
: 请问这是什麽哪边出错Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.113.46.184
※ 编辑: starskgb 来自: 59.113.46.184 (04/02 21:04)
1F:推 Earvin:accept()这个method会等连线建立才继续跑下去 04/02 22:08
2F:→ starskgb:连线有建立ㄟ,但是要把原本的程式整个停掉才会跑vlc@@ 04/02 22:19
3F:→ starskgb:我原本的程式是用thread去接连线,但简化成这样还是一样 04/02 22:21