2016-05-12 58 views
0

首先,我使用VCL組件,並且我不知道是否可以在沒有FireMonkey組件的情況下執行此項目......(如果這是不可能的,我將使用firemonkey組件)本地Wifi上的客戶端 - 服務器delphi XE7項目VCL

我的問題非常簡單,我正在尋找一個項目的例子或概念,在那裏我可以使用Android的應用程序(客戶端)來控制PC上的另一個(服務器)一個WLAN。我現在試着更好地解釋:

WINDOWS '' 服務器 ''(因爲我調用服務器,但正常W8/W10 OS(應用程序中運行)

葉192.168.0.1

Button1.buttonclick := FrmMain.close 

ANDROID

葉192.168.0.2

Connect To Ip of Server (Through WIFI-192.168.0.1) 

然後

ServerProgram.Button1.click; 

我嘗試在網上搜索,但我不爲2倍的原因找到任何東西:

1)可能是我沒有爲最正確的解決方案,我需要

2)更有可能搜索我不知道我需要搜索來解決我的問題!

所以,起初我想說感謝所有誰花時間閱讀,並至少,感謝您的幫助,並有一個愉快的一天

附:

我不想要使用TTHREAD,因爲我不想每次攔截它們或讓它們繼續運行!

+0

您使用的是哪個版本的Delphi? – nolaspeaker

+0

Xe7 for W10 :)感謝您的回覆! – AncientSniper94

+1

我想向您推薦Pawel Glowacki針對Datasnap的介紹視頻。 [Delphi實驗室](https://www.embarcadero.com/rad-in-action/delphi-labs)這些可以讓你瞭解你需要了解什麼_before_你可以開始編程你的應用程序。 – nolaspeaker

回答

0

您需要通過Android設備向PC發送命令。這是通過TCP/IP使用套接字的最佳方式。然後你必須「開發」你的協議。這意味着你的客戶端必須通過連接的套接字發送類似「ButtonClick」字符串的內容。當服務器接收到該命令時,它會執行您的代碼(您需要的代碼)。它可以是簡單的數字(01 - 按鈕點擊,02 - 其他)。或字符串(如上面3)或其他。

你必須做的第一件事就是看看套接字(在Android和PC端)。正如我所瞭解的,您希望簡單一些,只使用VCL/FMX。所以看看Delphi中可用的Indy(或其他)。好的起點是桌面應用程序的TClientSocket/TServerSocket(有演示)。

一旦你找到了建立連接的方法(在PC上工作以開始理解所有事情並不壞主意),你可以使用Write(或類似的)方法發送命令來發送命令。在服務器端,當收到命令時,應用程序會收到一個事件。然後你處理hte命令並做你所需要的。

應該有用於使用Indy(或類似的)TCP.IP組件的FMX示例應用程序。事實上,你的Android如何連接你的PC並不重要。它可以是無線局域網,局域網甚至互聯網。由於您的應用程序(客戶端)知道您的服務器IP地址或名稱,它可以連接到它。

我希望能回答你的問題。

+0

你知道FMX的任何TCP/IP組件嗎?我嘗試過Indy IdTcpClient/Server,但完全不能用於FMX。提前致謝! –