2013-10-17 132 views
1

我目前正在開發一個iPad應用程序,我希望應用程序能夠與C#程序交談,基本上可以將數據從應用程序發送到C#程序。ios應用程序與C#程序進行通信

C#應用程序安裝在PC上,他們可以通過Wifi相互通話,我的意思是iPad和PC將連接到同一個Wifi網絡。我正在考慮使用套接字,但我不確定某個objective-c客戶端套接字是否可以與C#服務器套接字進行通信。

+1

您需要更具體。你是否通過網絡服務器發送數據?或者您是否嘗試通過藍牙或30針/ Lightning連接器進行通信? – paulrehkugler

+0

它是一種什麼樣的C#程序?桌面?移動?網? – neilco

+0

我正在開發這個iPad應用程序與安裝在PC上的C#應用​​程序通話,他們可以通過Wifi相互通話,我的意思是iPad和PC將連接到同一個Wifi網絡。 – user1589455

回答

0

是的,來自objetive-c和.NET的套接字應該能夠相互交談。

請記住,您將不得不從字節數組轉換回來以便能夠使用套接字。這樣做時,請確保無論您編碼的是二進制可移植表示形式,特別是發送字符串可能會導致由於字符編碼和平臺的字節順序問題。

0

他們可以互相交談,但在二元級別上而不是。你可能想要做的是使用XML或JSON格式來交換消息。 如果你希望他們支持一些喜歡那種總和命令(1,3)

您可以使用XML

<Command name="Sum"> 
    <Args> 
    <Arg type="Int">1</Arg> 
    <Arg type="Int">3</Arg> 
    </Args> 
</Command> 

這無疑意味着更多的工作,但再次,他們不支持通信二進制級別,例如您無法直接在C#上調用方法。

不知道您的要求,但如果您不想重新發明輪子,請使用Web服務(如WCF或ASP.NET Web服務)(後者對於初學者更容易實現,我相信它是速度更快,但功能更少,如果你在家庭WiFi上使用它,可以使用ASP.NET Web服務)。在iPad上,您需要使用SOAP客戶端。

乾杯,

+0

基本上,我正在開發這個iPad應用程序在餐廳內訂購。服務員將這個ipad帶到桌子上,然後打開這個應用程序,並訂購客戶要求訂購的東西,完成訂購後,服務員將點擊這個應用程序的提交按鈕,所有的訂單信息應發送到一個窗口表格應用程序安裝在前臺PC上,所以訂單可以在前臺PC上進一步編輯,並打印出案卷。我已經完成了ipad應用程序,我現在想做的是實現ipad應用程序和C#Form應用程序之間的通信。 – user1589455

+0

首先,很高興您爲這個問題做了簡單的解決方案。現在。我認爲WinForms不應該負責保持與iPad的連接。我會爲此創建一個Windows服務。它更穩定(PC重新啓動後自動啓動,因爲沒有UI,所以更穩健)。該服務將處理信息(存儲它(可能的NoSQL),並且當WinForms應用程序啓動時,它會將訂單推送給它)。或者當WinForms應用程序啓動時,它可以詢問服務的信息。後來如果你有幾個寄存器,那麼有一些WinFrm應用程序會更容易 – evhen14

相關問題