Re: [請益] 請問PHP有沒有辦法可以呼叫C#寫的程式
※ 引述《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
12/30 22:50, 1F
→
12/31 04:03, , 2F
12/31 04:03, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
0
16