![]()
由 helix84 - own work, based on [1], 公有領域, 連結
![]() |
開發多層應用程式時,第一關就是面對【多次連線】和【持續連線】的選擇,雖然網路一面倒向多次連線才是王道,但實際真的適合自己嗎?
DataSnap Server 有提供 PC1 加密過濾器,一開始什麼都用官方預設值,運作下沒有問題,但就是 Key 值都是固定,就來修改一下吧。
同步修改後運作也是正常,正常的測完後,就要來試試【如果伺服端和客戶端密碼不同時會跳出什麼錯誤】。
結果
居然仍能運作!
這就怪了,為什麼兩邊的 KEY 值不同卻能運作無誤?
在經過測試後,它會經過幾個單元:
DBXEncryption.TPC1Cypher 類別裡有 Cypher / Decypher 加解密函式,就進行測試,才知道每對封包加密傳遞給對方時,KEY 也會在包在其中一同傳給對方,對方再使用該 KEY 進行封包解密,反之亦然。
簡單的說就是:用 KEY 搭配【相同】演算法解密該封包才能夠正確解密。
所以要知道正確的演算法才是關鍵,雖然只要是 Delphi 的應用程式就必定可以解開,但以 Delphi 這麼小眾的情形下也算得上一種良好的加密法則。(笑)
這一陣子遇到需要將 BLOB 欄位轉成實體檔案的需求,主要應用在發送電子郵件上,不查還好,一查也是水很深的技術問題。
SQL SERVER 存取實體磁碟工作大多屬底層控制,而 DML 操作是在 Instance 下處理,並不會直接對實體磁碟控制,之前 SQL Injection 等資訊安全事件頻傳,為了安全性,SQL SERVER 對實體磁碟的控制選項預設值是關閉的,所以如果必須對實體磁碟控制,就必須先將其開啟。
DataSnap 伺服器端可以設定的過濾器(Filter)有:
伺服器端設定後,客戶端也需要進行相同設定,否則便無法使用。僅設定單一過濾器時,此時客戶端可以正確連線。
Marco Cantu 今天更新了他的
Blog,提到 EMBT 母公司 Idera 最近買下【Apilayer】公司,為 Idera
事業群增添了新血。
Apilayer 公司主要業務是【網路微服務 REST
API】,範圍囊括了世界國家、國家地理位置反查等 REST API,類似【政府資料開放平臺】內容。
教學手冊置於文末 ❤️
Marco Cantu 也在他的 Blog 中展示如何使用 Delphi 操作 Apilayer API,提供了 Google 外另一個經濟實惠的選擇。
大匠和你分享。❤️❤️❤️
Embacadero 之前的研討會中,有一項吸引到大匠我的目光:
『カラオケの鉄人』店舗で、クーポン作成 - DTP並みの印刷システム実現の手法
製作【卡啦OK鐵人】的日本公司【株式会社鉄人化計画】是一間以卡啦OK為主要業務的上市公司,據點分佈在神奈川縣和千葉縣,共計超過 49 處營運據點。
簡報內容描述店家從【Linux + Kylix】升級成【jQuery + PHP + WebBroker + FireMonkey】跨 Web 和 跨行動裝置的移殖工作。
很多開發精華毫無保留地呈現,例如:
這份簡報顛覆了我對 Delphi Web 能力的三觀,內容非常精彩,值得一看再看!
相關資源收錄如下:
原文網址:DataSnap.ChatRoom Sample
無責任翻譯:大匠之風 Eden Wu
展示如何以 DataSnap 建立簡單的【聊天室應用程式】。聊天室是利用 HTTP 技術進行公共和私人對話。
你能夠在以下位置找到【聊天室】範例專案:
聊天室應用程式會使用到:
| 檔案 | 內容 |
|---|---|
|
ChatRoomServerContainer |
伺服器容器,搭載 DataSnap Server 元件。 |
|
ChatRoomServerMethodsUnit |
伺服器函式容器,搭載聊天室範例中所使用到的伺服器函式。 |
|
ChatRoomServerProject |
專案本身。 |
|
ChatRoomServerUnit |
構成聊天室範例應用程式的使用者介面主表單。 |