Re: [請益] 請問PHP有沒有辦法可以呼叫C#寫的程式

看板PHP作者 (ChrisLiu)時間17年前 (2008/12/29 15:56), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《albertliao (~咖啡癮君子~)》之銘言: : 因為小弟我目前想要寫一個視窗程式(C#),但是使用者可以直接在PHP做的網頁上案下一個 : icon就可以叫這個程式,並且執行要做的任務之後再將資訊回傳給PHP,我目前有想過可以 : 透過MySQL來作為溝通但是這樣PHP就無法主動叫起視窗程式,請問各位是否有相關資訊可 : 以參考已達到這個目的(PHP網頁上直接呼叫C#的程式) : 感謝您的意見 我想到一些變通的方法, 1. c#程式 always on, 使用 timer/Thread.Sleep 或迴圈去檢查某個 MySQL 中的欄位 並且使用 php 去更動這個值 假設 Table 中有個 enable, int 的欄位, 讓 c# 每隔幾秒去檢查他是否為 1 如果為 1,則跑要執行的程式,在將結果存在 MySQL 中,並將 enable 設為 0 client 端則用 php ajax 或 push-server 的方法去抓最新的那一筆回傳資訊。 2. c#程式 always on, php 可以採用 socket 的方式跟 c# 溝通, 例如c#程式收到 0x01 就是執行程式,並且將回傳資料透過 socket 傳回去 或是將資料存回 MySQL,只將 unique id 或是主鍵 透過 socket 回傳 php 在依照這個資料去 MySQL 抓取回傳資料 3. 也許可以採用 exec?簡單一點的像是 whoami 之類的可以, 不過看你要用視窗程式…也許可以另外產生 console 的輸出? 或是 c# 程式開檔將回傳資料寫檔後再讓 php 去讀 push-server 的寫法大概如下 reference: http://www.qudong.com/soft/program/php/jiqiaoyunyong/20080317/299.html     set_time_limit(0);     $sep = "gIrLsKiCkAsSiTsAySsOoNaTsHiRt";    if(ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])) { // IE 似乎不吃      header("Cache-Control: no-cache");      header("Pragma: no-cache"); mysql讀檔案 and show data    } else {      header("Content-Type: multipart/x-mixed-replace; boundary=$sep");    do { mysql讀檔案      flush();    }while(1); } 方法二是我自己有做過且成功的。 而且也剛好是 php + c# -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.145.202.66 ※ 編輯: chrisQQ 來自: 203.145.202.66 (12/29 15:57)

12/30 22:50, , 1F
第一個感覺 overhead 很高
12/30 22:50, 1F

12/31 04:03, , 2F
:p 所以我自己實做時是採用第二種
12/31 04:03, 2F
文章代碼(AID): #19M8AWSY (PHP)
文章代碼(AID): #19M8AWSY (PHP)