Re: [問題] java呼叫外部程式會當掉

看板java作者 (Metal)時間17年前 (2008/04/02 21:03), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
結果是外部程式好像被暫停了,我把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)

04/02 22:08, , 1F
accept()這個method會等連線建立才繼續跑下去
04/02 22:08, 1F

04/02 22:19, , 2F
連線有建立ㄟ,但是要把原本的程式整個停掉才會跑vlc@@
04/02 22:19, 2F

04/02 22:21, , 3F
我原本的程式是用thread去接連線,但簡化成這樣還是一樣
04/02 22:21, 3F
文章代碼(AID): #17yuGttC (java)
文章代碼(AID): #17yuGttC (java)