首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 ICE Developer Center Site Map          [搜尋]
ICE Developer Center Overview Register Training LearningSpace Workshop ICE Messaging Express MOM Glossary
Member Login Download GetLicense Support Profile iReal Program Logout

 .艾揚即時訊息技術電子週報 < ICE Messaging Weekly >. 

第 62 期 出刊日期:2004.03.09 本報內容由 艾揚科技 (ICE Technology Corp.) 提供

在 VB 上利用 iPush® 開發 Internet 即時訊息工具 (上)

本期內容大綱

 
[編輯手扎] ICE Messaging Editor's Note  蔣居裕   

簡單創造力量

喝咖啡可以有多少種方法?您可以用濾泡式、塞風式、摩卡壺、美式咖啡壺、義大利高壓蒸汽粹取等等方式,甚至從咖啡生豆的烘焙開始,全部自己包辦。為了徹底發現好咖啡,還有人自己種咖啡豆,最近麝香貓咖啡有「假」的新聞吵翻天,您知道啥是麝香貓咖啡嗎?

在印尼有人豢養專門吃咖啡果實的麝香貓 (其實就是果子狸的一種),據說這些麝香貓的嗅覺極為靈敏,可以分辨咖啡果實的好壞,所以被吃下肚的咖啡果實一定肥美香甜,經過麝香貓肚子裡的「生化作用」之後,咖啡漿果的皮與肉滋養了麝香貓,剩下的硬果核 (生豆) 沒辦法消化,跟著貓糞排泄出來,清洗乾淨之後,就成為「努瓦克」咖啡生豆!當然,還得烘焙、研磨、沖煮,才能享受到這杯「全世界最貴的咖啡」!不過貴雖貴,曾經有愛喝咖啡的朋友想「請」我喝上一杯時,瞭解內情的我,只能敬謝不敏,現在看到新聞,才知道那杯未必是「真」。

就是這麼一杯咖啡,有這麼多種方法可以創造,不過全世界銷量最大的咖啡則是即溶咖啡,風行全球原因無他,簡單又方便!

PC 出現以前,電腦被關在大型實驗室當中,不管是軍事用途、研究用途、或是商業運算,這些電腦都又大又笨重,而且沒有經過幾年專業的訓練,可沒法子操作。後來微軟出現了,簡單的 DOS 征服了全世界,一路演進下來,現在全世界 PC 最廣泛使用的作業系統就是 Windows。

建構即時訊息的技術很難,需要花費很多的時間研究發展,但是應用起來卻可以很簡單!

我們在幾次的實作案例當中,利用 Excel 與 VB 來建構簡單又容易的即時訊息應用,艾揚期待將複雜的技術以簡單的方式導入,透過「簡單」來創造力量。

以前資訊人員建構應用系統時,遇到即時訊息總會擔心頻寬與軟硬體的限制,以 iPush® 運行的即時系統,硬體與頻寬的需求限制已經大幅度地降低。即使是像 Embedded System 這類小型化的運算平台,iPush® 都能在有限的系統資源當中肩負起傳遞即時訊息的任務。

您同意「簡單」創造力量嗎?本期以 VB 實作即時訊息傳遞的應用,您看夠不夠簡單!

 
[訊息論壇] ICE Messaging Forum    塗能宇 / 郭漢丞

<實作篇> 在 VB 上利用 iPush® 開發 Internet 即時訊息工具 (上)

主筆在偷笑

提到 VB,我想很多人的第一印象都是簡單好用,只要有適當的 ActiveX 元件,畫面拉一拉,程式的雛型就幾乎完成了。所以身為主筆群一員的我,拿到這個題目時,心中正在偷笑。因為利用 iPush® 的 ActiveX 元件 (xiPush2.ocx),只需要撰寫 11 行程式,就可以完成即時訊息收送客戶端軟體。

不相信嗎?帶您看看是哪 11 行。

甚麼?只需要這 11 行!

就是下面這 11 行!

REM =======連線資料輸入

XiPush21.ipuship = AddrText.Text

XiPush21.ipushport = PortText.Text

XiPush21.company = CompanyText.Text

XiPush21.product = ProductText.Text

XiPush21.username = UsernameText.Text

XiPush21.password = PasswdText.Text

REM=======執行連線指令

Dim rtn as long

rtn = XiPush21.ipushTCPConnect

REM=======傳輸資料

Dim d As Variant

d = textData.Text

XiPush21.ipushSendNPSubjectData textSubject.Text, d, 1, 0

看起來很簡單吧。真的只需要 11 行嗎?不信請看圖一:

圖一、點按 [Command1] 鈕時,OnClick 事件執行的程式碼 
圖二執行發送作業圖例 (User a)
圖三、本期所附的客戶端範例中,User b 收到 User a 送過來的資料

細心的讀者一定發覺圖一畫面中其實只有 9 行程式,因為我順手一打沒有宣告變數就直接使用的壞習慣,讓程式又少了兩行。所以...... 我對不起大家,我錯了。

利用 iPush® 的 ActiveX 元件,不嚴謹的,只需要 9 行程式碼,就可以透過 Internet 傳送即時訊息了。

整個傳送資料的客戶端程式的流程如下:

圖四、客戶端程式運作流程

若要能接收資訊,則需要多加一項回呼 (Callback) 函式在表單中,讓 iPush® 的 OCX 元件能夠在連線訂閱後,將接收到的訊息回傳給 VB 程式。

在範例裡,我們會將接收到的資訊顯示在 Label 標籤中。我們稍後會再詳細說明 iPush® 回呼的方式。

在 iPush® V2 中,資料傳送又多了保證送達 (Guaranteed Message Delivery) 的功能,但使用方式和前面的敘述是一樣的,甚至只要修改一下,一行都不用多加,就可以實作出來。我們稍後會一一說明如何使用勇猛的 iPush® ActiveX OCX 元件來達成這些功能。

其實您一行都不用寫

上面這段程式碼,並沒有任何錯誤處理的機制,只是用來展示 iPush® 強大而且方便的程式設計方式,真正的範例程式當然不會這麼隨便。

我們將會從這幾行程式開始,做一些修整,變成本期所附的完整範例程式。我們在可供下載的 zip 檔中,除了一個完整的客戶端範例程式外,還附上了一個空白表單與包含所有程式的 txt 檔。您只需要依著操作步驟,就可以順利地完成所有練習。

在我們進行實作說明以前,請先確認您具備以下條件,然後再一步步實作下去:

條件不難吧?如果您沒有 iPush® Server V2 或 iPush® ActiveX API,不妨直接點選以上連結,下載最新版本。 

檢查完電腦系統的需求之後,還有一項準備工作,請在 iPush® Server V2 BackOffice 裡面新增以下的 Service 與 User 帳號。

新增一個 Service:

Group:ice
Product:ipush
Expiration Date:0000-00-00  (表示永久有效) 
Limited Connections:10 

圖五、在 BackOffice - Service Management 中新增一個 Service - Group:  ice ; Product: ipush

新增兩個 User 帳號 a 與 b:

訊息收發者 a:

Group:ice
Product:ipush
User ID:a 
Password:a 
Read Permission:0x00-0xff, *
Write Permission:0x00-0xff, *

訊息收發者 b:

Group:ice
Product:ipush
User ID:b
Password:b
Read Permission:0x00-0xff, *
Write Permission:0x00-0xff, *

圖六、User a 帳戶詳細資料,User b 類同

 

註冊 OCX 元件

第一步,先註冊下載解壓縮後的 XiPush2.ocx,在檔案所在目錄下執行 regsvr32 XiPush2.ocx 以註冊該元件。

圖七、[開始] → [執行],執行元件註冊作業 
圖八、註冊成功訊息

接下來我們先測試一下範例執行檔是否可在您的環境中正常運作。

開啟執行兩次下載檔案中所附的 vbsample.exe,一個做為訊息傳送者,另一個做為訊息接收者,測試兩者是否可以正常送收訊息。

圖九、連線操作 - 訊息傳送者畫面
圖十、連線操作 - 訊息接收者畫面

如圖十,在要做為接收者的第二個 vbsample.exe 執行畫面中進行如下操作:

1. 輸入連線資料  (如圖十)
2. 按下 [TCP Connect] 鈕
3. 在 Channel 文字欄輸入要訂閱的 ABCD
4. 按下 [Subscribe Channel] 鈕

如圖九,在要做為傳送者的第一個 vbsample.exe 執行畫面中進行如下操作:

1. 輸入連線資料  (如圖九)
2. 按下 [TCP Connect] 鈕
3. 在 data 文字欄位中輸入 This is a Channel Test
4. 按下 [Send Channel] 鈕

如圖十,此時應該可以看到收到的 Channel ABCD 訊息:This is a Channel Test 了。

若您的操作結果不是這樣,則請檢查網路連線是否正常,以及帳戶的設定是否正確。

接下來我們開啟 Visual Basic,開始進入設計階段。

練習目標

在完整表單設計練習中,我們主要在練習傳送 iPush® 的三種訊息類型:Channel、Non-persistent Subject、Persistent Subject。

這三種訊息有什麼差異呢?

  • Channel : 提供了頻道 0x00 到 0xff,可供使用者定址使用。

  • Non-persistent Subject:訊息傳送時,傳送與接收不做回應 (ACK) 動作。 

  • Persistence Subject:配合 Durable Subscription,可以做到訊息保證送達的功能。

關於詳細的規格特性,可以參考 iPush® V2 產品 What's New 的說明。

每一種資料傳輸方式,都必須實作三項功能,分別是:

  • 傳送資料 (Publish)

  • 訂閱資料 (Subscribe)

  • 取消訂閱 (Un-Subscribe)

以下我們分別就 Channel、Non-persistent Subject、Persistent Subject,介紹如何撰寫相關的傳送及訂閱程式。

表單設計階段

我們在表單中,使用了如圖十一右下角的 XiPush2 控制項:

圖十一XiPush2 控制項

若這個控制項不存在,請在 Visual Basic 中,選擇 [專案] 功能表中的 [設定使用元件] ,請勾選其中的 [xiPush2 ActiveX Control module] 項目:

圖十二、勾選 iPush OCX - [xiPush2 ActiveX Control module] 項目

 

圖十三然後就可以在畫面的元件工具列中,看到 XiPush2 的圖示

接下來,將這個控制項拖曳到表單中,完成引用 iPush® ActiveX 元件的工作,如圖十三所示。

TextBox 名稱 / 功能分別為:

  • AddrText:輸入的 IP 位址

  • PortText:輸入埠號

  • CompanyText:輸入在 BackOffice 設定的 Group 名稱

  • ProductText:設定在 BackOffice 設定的 Product 名稱

  • UsernameText:使用者名稱

  • PasswdText:密碼

  • textChannel:Channel 名稱

  • textSubject:Subject 名稱

  • textName:Durable 名稱

  • textData:要傳送的訊息字串

Label 標籤名稱 / 功能分別為:

  • Label1:顯示連線狀態,供 iPush® ActiveX 元件 Callback 使用 

  • Label2:Channel 標籤

  • Label3:Subject 標籤

  • Label4:接收到 Channel 資料的 Channel 名稱,供 iPush® ActiveX 元件 Callback 使用

  • Label5:接收到 Channel 資料的內容,供 iPush® ActiveX 元件 Callback 使用

  • Label6:Data 標籤

  • Label7:接收到 Subject 資料的 Subject 名稱,供 iPush® ActiveX 元件 Callback 使用

  • Label8:接收到 Subject 資料的 Durable 名稱,供 iPush® ActiveX 元件 Callback 使用

  • Label9:接收到 Subject 資料的內容,供 iPush® ActiveX 元件 Callback 使用

Command 命令按鈕 / 功能分別為:

  • Command1:顯示名稱 (Name) 為 TCP Connect;按下時執行 TCP 連線工作

  • Command2:顯示名稱 (Name) 為 Disconnect;按下時切斷連線

  • Command3:顯示名稱 (Name) 為 Subscribe Channel;訂閱指定 Channel

  • Command4:顯示名稱 (Name) 為 Subscribe Subject;Non-durable 訂閱指定 Subject

  • Command5:顯示名稱 (Name) 為 Send Channel Data;傳送 Channel 資料

  • Command6:顯示名稱 (Name) 為 Send Subject Data;傳送 Non-persistent Subject 資料

  • Command7:顯示名稱 (Name) 為 Subscribe Durable Subject;Durable 訂閱指定的 Subject

  • Command8:顯示名稱 (Name) 為 Send Persistence Subject;傳送 Persistent Subject 資料

  • Command9:顯示名稱 (Name) 為 Unsubscribe Subject;取消 Non-durable 訂閱 Subject

  • Command10:顯示名稱 (Name) 為 Unsubscribe Durable Subject;取消 Durable  訂閱 Subject

我們已經先建立好一個空白的表單,及相對的程式碼文字檔。若您懶得打字,接下來您只要將對應的程式碼,複製到表單及對應的程式事件中,就可以完成這個 VB 範例的練習。

寫到這邊,已經佔去不少篇幅,我想本週我們暫時實作到此,「在 VB 上利用 iPush® 開發 Internet 即時訊息工具 (下)」當中,我們將繼續完成處理連線及斷線、傳送 Channel 訊息、傳送 Non-persistent 訊息、傳送 Persistent 訊息、Non-durable 訂閱、Durable 訂閱等功能。

您將發現,透過 VB 來實作 iPush® 即時訊息應用,真是一點都不費事。我們下週再見。

 

 



1 2 3 4 5 6 7 8 9 10
有點重要  
非常重要

 


[訊息先生信箱] Ask Mr. Message    Mr. Message  


<Developer Maggie來信詢問>

我們公司使用 iPush® 開發了一些即時應用,系統上線運作了一年多,最近突然出現了一些不穩定的問題,經檢查 Server 所在的主機,發覺硬碟空間快要滿了。不知為何會這樣?又該如何解決?

<Mr. Message 的答覆>

Maggie 您好。不管是 iPush® Server V2,還是 V1.5 SE / V1.5,系統在運作時,都會進行紀錄的動作 (Logging,俗稱「寫 Log」)。您的問題,應該就是沒有定期清除 Log 檔案,導致硬碟空間所剩無幾而來的。

系統 Log 紀錄的對象有四種:iPush® Server、Auth. Center、AuthMyODBC、以及 License Daemon,前兩者的 Log 紀錄檔案尤其多。

對應 Log 檔案設定與預設的 Log 檔案儲存目錄,整理於下表:

  iPush® Server Auth. Center AuthMyODBC License Daemon 預設 Log 目錄
V2 iPush.ini Auth.ini AuthMyODBCPlugin.ini License.ini LogFiles
V1.5 SE iPush.ini Auth.ini AuthODBCPlugin.ini LicenseD.ini ICELogFiles

由於 Log 檔案記載著系統運行的歷史,也是 BackOffice Report Generator 的統計資料來源,所以建議您應該養成定期備份的習慣,並配合報表產生週期,於一定時間內移除不要的 Log 檔案,以免硬碟空間被佔滿,造成系統的不穩定。

歡迎來函詢問 Mr. Message 任何與訊息有關的技術、產品、應用、實作、商務問題,Mr. Message 必將竭誠答覆。

 go top

[艾揚快訊] ICE Express   ICE Developer Center  


<快訊一> 

Fully kernel features support: iPush V2 - ActiveX API v.2.3.1 (02.26)

支援最新 iPush® Server V2 的 ActiveX API v.2.3.1 包括以下 package:

1. iPushV2_PG_ActiveX_v2.3.pdf: Programming guide for xiPush2.ocx v2.3.1

    - Full kernel features support, added QoS, Connection ID

2. v2.3.1\xiPush2.ocx: ActiveX Control for ICE iPush Communcation Server V2, with digital certificate code sign.

3. Samples\ActiveXChannelSample: Sample program with channel addressing.

4. Samples\ActiveXSubjectSample: Sample program with subject addressing.


其他詳情,請下載 ZIP 檔後,開啟 Readme.txt 與 CHANGELIST.txt 參考之。

欲下載本 API,請先登入 ICE Developer Center,於 Download 區取得 >> Go !

 

go top

<快訊二>

強化虛擬時空與現實世界間的連結 - 即時訊息、地理資訊與自動控制技術之整合應用與實踐研討會,將於 3/17 舉行,即日起開始報名 (03.01)

以往對於如何將 GIS 與動態時序資料結合,多採取 DB-centric 的架構,雖能滿足部份需求,但在新的需求 ── 遠距監控、即時訊息傳遞、跨區資料交換、行動監控等逐漸湧現時,原有的架構將無可避免的出現資訊傳輸瓶頸,造成系統穩定度與效能都會衰減至無法忍受的程度;同時 DB-centric 的架構無法實現中控與現場即時雙向訊息交換,必須另外構建控制系統 (SCADA) 以控制現場設備。於是在諸多應用中,GIS 與自動控制形成各自獨立的區塊,無法有效的整合,系統的效益遂無從完全發揮。基於上述理由,艾揚科技推出了新世代的資訊技術架構 ── iPush® Server 結合自動控制與 GIS 的解決方案。

iPush® 即時訊息技術結合自動控制與 GIS 後,可將即時訊息力量與 GIS 所代表的空間資訊作完美的結合,同時達成現場與控制中心間的訊息流即時化、雙向化,讓 GIS 與自動控制能夠有效的整合,完全發揚系統應有的效益。

艾揚科技一直致力於即時訊息技術架構 — iPush® Server 的發展,且在 GIS 與 iPush® 結合上已於兩岸開創多起成功經驗,此次特邀國內有合作實戰經驗的夥伴親身說法。如果您有興趣更進一步了解 GIS 結合 iPush® Server 的應用與價值,請儘速報名參加本研討會。

時間:2004 年 3 月 17 日(三) 13:30~17:00
地點:洪建全文教基金會• 敏隆講堂 - 台北市羅斯福路二段 9 號 12 樓
              (捷運古亭站 6 號出口過杭州南路)

主辦單位:艾揚科技股份有限公司 (ICE Technology Corporation)

                   

議      程
時 間 主                                          題 主 講 者
13:00~13:30
來賓接待 座位有限
早來佔好位
13:30~14:10
即時訊息滾動,決策、應變、與商業價值立生 艾揚科技 行銷長
蔣居裕
14:10~15:00
即時反應、快速調度:即時訊息解決方案在警勤消防領域的應用與實踐 仲琦科技
黃國珍 經理
15:00~15:10
Coffee Break  
15:10~16:00
如何讓 GIS 產品擁有即時訊息能力:以 SuperGIS 家族為例 崧旭資訊
李宗哲 經理
16:00~16:40
Utilities Management成功經驗:GIS 與 SCADA 整合解決方案 艾揚科技
康聖欣 協理
16:40~17:00
Q&A  

線上報名 >> Go !

go top

<快訊三>

2004 中國 (武漢) 國際資訊技術與電子商務應用博覽會,歡迎廠商參展與參觀 (02.27)

為推廣中國資訊技術領域中,國際間電子商務最新技術及應用成果,來整合中國國際貿易促進會在國際經濟與技術貿易合作方面的運作優勢,促進武漢市資訊化建設與電子商務應用發展。在中國電子商務協會、中國國際貿易促進委員會、以及資訊產業部、科技部、湖北省政府、武漢市政府相關部門的指導與支持下,由武漢市資訊化領導小組辦公室、中國國際貿易促進委員會武漢市分會、中國電子商務協會武漢代表處主辦的中國 (武漢) 國際資訊技術與電子商務應用博覽會將於 2004 年 5 月 15 日- 17 日在武漢國際會展中心舉行。

以“應用主導、服務為先”為主題,突出前瞻性、實效性,充分發揮博覽會展示、交流、交易三大功能,充分展示當今電子商務應用領域的先進理念、高新技術與產品及成功典範,讓社會各界充分瞭解當今世界資訊技術發展的成果,體驗電子商務在城市發展各領域中的應用。為製造商、經銷商、大眾消費者營造一個展示、交流、貿易、合作的平臺。

時間:2004 年 05 月15 日 - 17 日
地點:武漢國際會展中心

批准主辦:武漢市人民政府

支持主辦:中國電子商務協會、中國國際貿易促進委員會
組織主辦:武漢市信息化領導小組辦公室、中國國際貿易促進委員會武漢市分會、中國電子商務協會武漢代表處

  • 本次活動介紹及申請表 >> 下載

  • 本次活動詳細資料,請連結中國 (武漢) 國際資訊技術與電子商務應用博覽會網站:http://www.itece.com.cn

 go top

 


上一期精采內容:在 Excel 上開發一個 iPush 的即時訊息傳送 Client (下)


若您覺得本期內容值得參考,請轉寄給認識的朋友或同事,為國內的訊息技術社群發展盡一份力。感謝您。 

免費試用 iPush Server,請連結 ICE Developer Center 網站:http://www.icetech.com.tw/icedc,進行 Register → Login → GetLicense → Download 作業即可。

訂閱與取消訂閱本電子週報,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

查閱本電子週報舊有出刊內容,請連結 ICE Messaging Weekly 網站:http://www.icetech.com.tw/icedc/weekly.shtml

 

回艾揚即時訊息技術電子週報主頁 | 上一期  | 下一期

Copyright 2002-2004, 艾揚科技股份有限公司版權所有;歡迎轉寄。
關於電子報發送有任何問題,或是欲轉載內容,請連絡 icedc@icetech.com.tw
台北市 100 羅斯福路二段 9 號 12 樓之 1 ,TEL: +886-2-2396-1880,FAX: +886-2-2396-1881

Unsubscribe >>
欲取消訂閱艾揚即時訊息技術電子週報 (ICE Messaging Weekly),請 Mail 至 icedc@icetech.com.tw
主旨註明:取消訂閱艾揚即時訊息技術電子週報 即可。



艾揚科技股份有限公司  台北市 103 承德路二段 81 號 15 樓之 1   電話:+886-2-25586101   傳真:+886-2-25586102

Copyright © 2002-2008 ICE Technology Corporation. All Rights Reserved.