2010-10-22 28 views
1

我想知道如何讓iPhone與Windows服務通話,所以例如當我按下iPhone上的按鈕時,Windows機器上會顯示一個消息框。讓iPhone與Windows服務通話

希望有人有一些很好的教程或示例代碼,將讓我去......

提前感謝!

回答

0

好,我找到了解決辦法...每個人都誰在問同樣的問題,看看WCF服務:)

1

您需要在Windows Box上編寫一些SERVER SIDE軟件。它可能是一個ASP.NET頁面,一個TCP/IP守護進程,一個PHP腳本,無論你在服務器端寫入都感覺舒適。在那一塊軟件上,做任何你想做的事情:I.E.顯示一個消息框。

在iPhone上,您將創建一個CLIENT以遠程連接到在Windows上運行的SERVER SIDE軟件,並觸發所需的操作。

iPhone -> INTERNET -> Windows Box -> Your Script -> ACTION you want. 

如果你不想使用ASP.NET或PHP或任何其他Web服務器程序,那麼,正如我所說,你可以寫一個小TCP/IP或UDP/IP服務器守護程序(使用C#,C/C++,Python,Ruby,無論你想要什麼)實現你自己的簡單協議來觸發Windows機器上的操作。如果Windows機器沒有一個全面的公開IP地址,你需要有某種形式的代理,因此該解決方案將是這樣的:

iPhone -> INTERNET -> PROXY. 

然後你的Windows程序應該查詢代理的新通知:

Windows Box -> INTERNET -> PROXY -> ACTION you want 

這是一個有點複雜,但如果你想程序上任何 Windows中沒有一個公網IP地址,運行你沒有選擇。

+0

好吧,我不得不創建一個服務器 - 客戶端模式很清楚,但我想知道我是怎麼可以在iPhone和客戶端之間進行通信。一個ASP.Net頁面有點愚蠢,因爲這會強制用戶安裝某種ISS或其他東西。計劃是用戶在PC上安裝程序,並且iPhone可以與程序通信。 – CyberK 2010-10-22 14:29:42

+0

我明白了...我會在答案中加入一點。 – 2010-10-22 14:34:35

0

你說的是在這裏一起工作的幾種不同的技術,所以我不認爲你會找到一個開箱即用的解決方案。

其中之一,你不應該有一個窗口服務顯示一個消息框,你應該有服務提示客戶端應用程序,運行在用戶帳戶下,因爲Windows服務不真的應該直接與用戶交互。

要在iphone和windows服務之間進行通信,您需要有一些適當的傳輸。 TCP可以工作,但是你需要(簡單的)原始TCP嗎?你也可能會遇到防火牆問題。電子郵件將是另一種方式,並將作爲你的iPhone應用程序和你的服務之間的一個很好的消息隊列。消息隊列軟件將是第三,但我不知道任何將在iPhone/Windows上工作。