首頁 公司 產品 產業/方案 服務 夥伴 客戶 論壇 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 >. 

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

在 HTML 上利用 iPush® 開發 Internet 即時訊息工具

本期內容大綱

 
[編輯手扎] ICE Messaging Editor's Note  郭漢丞   

史上最白熱的 IPO

Google 的 IPO 就要出來了!從過去的經驗當中,成功的 IPO 通常代表更好的現金流量、更多的公司資源以及更偉大的公司願景可望實踐,不過也可能成為創業者自滿而淪落金錢追逐的遊戲,對於網際網路軟體股有史以來最白熱化與最高價的 IPO 案,不僅華爾街與全球的投資機構虎視眈眈,網路公司與軟體業者也都密切關注,高呼「Viva Goooooooogle!」。

在這次眾所矚目的 IPO 案子當中,Larry Page 與 Sergey Brin 這兩位公司的創辦人當然是焦點,不過靠著 IPO 起家,而且是華爾街近二十年以來的長青績優股微軟,也以「幾乎可以感受到呼吸」的最近距離觀察 Google。好吧!貼近臉看著別人當然很緊張,最重要的是,當 Google 的 IPO 可能創下華爾街天價之時,手握 405 億美金可投資部位的微軟,還是可以有辦法張大嘴一口吞下去 。只不過,Larry Page 與 Sergey Brin 不想買 Bill Gates 的帳,您猜猜 Google 會不會步上 Netscape 或 ICQ 的後塵?

有趣的軟體業大事表過,艾揚最近和微軟之間倒有新鮮事!我們敬愛的 CTO 陳俊霖博士,即將於亞洲安全週的「數位監控論壇」上代替微軟發表 Keynote Speech,與 Intel 等國際大廠代表同台演出,關心即時訊息技術發展的 Developer 們,請不要錯過與艾揚 CTO 面對面的好機會!活動訊息詳見 :http://www.secutech.com/chinese/seminars/list.asp#F2

 

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

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

用 HTML 來使用即時訊息的好處

不用安裝任何軟體,走到哪裡都可以用的 Web Mail 系統,我想不少人都使用過。不論在世界的哪一個角落,只要能使用瀏覽器,就可以收發電子郵件。雖然一般的電子郵件應用程式更完整,但是方便的 Web Mail 還是不少人收信的第一選擇。

同樣的道理,若是能利用 HTML 完成即時訊息的收發,那該有多方便啊。

讓需要的即時資訊無所不在、無所不到,是 iPush® 的目標,透過 iPush® 提供的多樣 API,其實要運用 HTML 建構即時訊息應用一點都不難。

接下來我們將示範如何透過瀏覽器,來處理收、送即時資訊。並簡單介紹 iPush® V2 中新的 Queuing 特性以及應用方式。

在這個練習中,建議使用 FrontPage 或是 Dreamweaver 等網頁編輯軟體,因為這些網頁編輯工具都提供了方便的元件,可在網頁中快速製作表單及加入 ActiveX 控制項的工作。

若您對熟悉 Visual Basic,當然也可以直接建立 Visual Basic 的 DHTML 網頁專案。不過,不論使用哪一種工具,都可以透過 iPush® V2 提供的強大功能,經由簡單的敘述,完成資訊的收發工作。

實作前的準備工作

本期內容將直接切入到如何在網頁中,加入收送訊息的基本功能。關於客戶端的權限設定部份,和前兩期 Visual Basic 的實作課程式完全一樣。

若您已經實作過前兩期的課程,可以跳過使用者設定以及登錄 OCX 部分的內容,直接進入主題。

當然,我們也如同以往,附上本期的完整範例網頁。在可供下載的 zip 檔案中,包括本期實作篇示範的 Subject 範例程式外,還附上了包含所有程式碼的 txt 檔。您只需要依著操作步驟,就可以順利地完成所有練習。

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

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

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

建立 BackOffice 帳號

首先,請在 BackOffice 中建立使用者所需的相關帳號資訊。

<新增一個 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, *
Concurrent Use:10

訊息收發者 b:

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

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

 

註冊 OCX 元件

首先,先註冊下載解壓縮後的 XiPush2.ocx,在檔案所在目錄下執行下列命令, 以註冊該元件:

regsvr32  <file path>\XiPush2.ocx

圖三[開始] → [執行],執行元件註冊作業
圖四註冊成功訊息

 

建立表單

以 Subject Sample (ipush2_subject_sample.htm) 為例,必須建立如下圖的表單,表單的名稱為 iptf:

圖五在 HTML 文件中,加入所需的控制項

我們主要用到四種形式 (Type) 的控制項,分別是:

  • 按鈕 (Button):執行動作,啟動對應的 VBScript 函式。

  • 文字方塊 (Text):輸入相關的資料。

  • 核選方塊 (Checkbox):選擇是否要套用某一項功能。

  • 文字區域 (Textarea):顯示傳回的結果。

控制項相關的屬性看起來像這樣子:

<input TYPE="BUTTON" VALUE="TCPConnect" NAME="btnTCPConnect">

代表的意義是在螢幕上顯示的樣式是按鈕“Button”,顯示在按鈕上的名稱是“TCPConnect”,在 VBScript 中操作的名稱是“btnTCPConnect”。

有一些項面後面還有 DISABLED 參數,代表目前這些按鈕是不可使用的狀態。只有在完成某些特定的動作之後,才可以使用。

表單的相關詳細設定內容,請參考本期所附範例網頁的內容。在表單完成後,請在表單上按下滑鼠右鍵,確認這個表單的名稱是 iptf

圖六確認表單的名稱是 iptf

表單完成後,接下來就是加入能讓平凡的網頁,變成擁有即時訊息收送能力的秘方 ── iPush® ActiveX 控制項。

在網頁中加入 ActiveX 控制項

您可以採取手動的方式,在網頁中加入如下圖的 <object> 標籤,以及物件的 CLASSID 識別碼。

圖七利用 <object> 標籤將 ActiveX 控制項加到網頁的表單中

或是利用網頁編輯工具中提供的功能,將物件插入到網頁中。以 FrontPage 為例,請選擇 [插入] -> [Web 元件]:

圖八直接由 FrontPage 功能表選單加入元件

接下來選擇插入元件類型 [進階控制項] 中的 [ActiveX 控制項]:

圖九選擇插入 [ActiveX 控制項]

選擇完成後,按 [下一步],將選單捲動到最下方,選取 [XiPush2.ocx Control] 此一控制項。

若是沒有 XiPush2.ocx 這個控制項,請按下 [自訂] 鈕,手動將這個控制項加入到清單中以供選擇:

圖十加入控制項後按 [完成] 鈕,若是沒有這個 XiPush2.ocx 控制項,按 [自訂] 鈕。
圖十一按 [自訂] 鈕後,將 [XiPush2.ocx Control] 前方的核選方塊打勾後,加入控制項。

然後我們就可以在表單中,看到 ICE 小藍冰人的 ActiveX 控制項圖示。在圖示上按下滑鼠右鍵,就可以直接將這個 ActiveX 元件相關的 參數,設成所需的資訊內容:

圖十二、 在圖示上按滑鼠右鍵,選 [ActiveX 控制項內容]
圖十三可直接設定相關的 連線所需資訊

 

加入 VBScript

接下來,我們需要加入與表單按鈕對應的 VBScript。

相關的內容以及 iPush® 接收訊息時的 Callback 函式,可以參考上一期電子報的內容說明,以得到相關的 資訊。

在這邊,我們一樣將整個即時訊息交換過程分成三個部分,分別是:

  • 連線

  • 傳送

  • 接收

建立連線

關於連線部分,iPush® V2 提供了 TCP 與 UDP 兩種不同的連線方式。

以 TCP 連線來說,以下的 VBScrip 程式碼,可以直接鍵入網頁 HTML 碼中,介於 <body> 與 </body> 標籤之間任一處即可。

<TCP 連線所需提供的資料及 VBScript 程式碼>

<SCRIPT LANGUAGE="VBScript">

Sub btnTCPConnect_OnClick
Set tF = Document.forms("iptf")
ipushx.ipuship = tF.in_ipuship.Value
ipushx.ipushport = tF.in_ipushport.Value
ipushx.company = tF.in_company.Value
ipushx.product = tF.in_product.Value
ipushx.username = tF.in_username.Value
ipushx.password = tF.in_password.Value
res = ipushx.ipushTCPConnect
If (res > 0) Then
tF.areaBoard.Value = "connect ready"
tF.btnTCPConnect.Disabled = true
tF.btnUDPConnect.Disabled = true
tF.btnDisconnect.Disabled = false
tF.btnSub.Disabled = false
tF.btnUnsub.Disabled = false
tF.btnUnsubDurable.Disabled = false
tF.btnSendT.Disabled = false
tF.btnSendQ.Disabled = false
Else
tF.areaBoard.Value = "connect fail: " & res
End If
End Sub

</SCRIPT>

Set tF 敘述,是將 iptf 表單的名稱代號設為 tF,後面接著就是原先表單中的物件名稱,以及物件的值。以第三行敘述來說,

ipushx.ipuship = tF.in_ipuship.Value

就是將 tF 表單上的 in_ipuship.Value 的值,設定給物件代號為 ipushx 的 ipuship 屬性。當 ipushx.ipushTCPConnect 連線成功時,res 會傳回一個大於 0 的值;接著會將相關的按鈕切換顯示連線中的狀態。

接下來的 UDP 連線與斷線的處理,和 TCP 連線處理方式相似。分別呼叫的是建立UDP 連線使用的 ipushx.ipushUDPConnect 以及斷線使用的 ipushx.ipushDisconnect。

接收端訂閱 Subject

訂閱 Subject 的部分,需要分成兩個部分處理。分別是訂閱 Subject,以及供 Subject 訊息接收的 Callback 函式處理。

訂閱還分為一般訂閱 (Non-durable) 和 Durable 訂閱,詳細的 Subject 訂閱作業處理如下:

<SCRIPT LANGUAGE="VBScript">

Sub btnSub_OnClick
Set tF = Document.forms("iptf")
A = tF.in_subject.Value
B = tF.in_durname.Value
If (B = "") Then
ipushx.ipushSubSubject(A)
Else
ipushx.ipushSubDSubject A, B
End If
End Sub

</SCRIPT>

而 Subject 訊息接收的 Callback 函式,我們在這邊提供兩個,一個是供接收系統回傳狀態的 CommandMsg,另一個則是 即時訊息接收的 SetSubjectData。

<SCRIPT LANGUAGE="VBScript">

Sub ipushx_CommandMsg(nCode, strMsg)
Set tF = Document.forms("iptf")
tF.areaBoard.Value = "Command Message: " & nCode & ", " & strMsg
window.status = "Command Message: " & nCode & ", " & strMsg
End Sub
Sub ipushx_SetSubjectData(subj, durname, data, cid, msgid)
B = ipushx.ipushVar2Str(data)
Set tF = Document.forms("iptf")
tF.areaBoard.Value = "receive : " & subj & ", " & durname & ", " & B & ", " & cid & ", " & msgid
window.status = "receive : " & subj & ", " & B
End Sub

</SCRIPT>

關於 Callback 函式的說明與相關的參數功能,請參考前面 4 期電子報或 ICE Developer Center 中的 ActiveX API Programming Guide。

傳送端發送 Subject 訊息

接收端處理完後,接下來就是處理傳送的方式。

在 iPush® V2 中,除了前面兩期 VB 的 Pub/Sub 訊息傳遞模式之外,還可以再加上另外一種 傳送 Subject 訊息的模式,稱為 Queue。

被傳送者指定為 Queue 的訊息,會傳送給單一的接收者處理,如線上購物的訂單接收處理即是這樣的應用例子。

比如,公司有一個訂單處理 (order processing) 部門,有多位業務人員在接訂單,但一張訂單只需一位業務人員處理,不需要每位業務人員都收到每一份訂單。

這種特性可以將需要分散、派遣等分散式處理的工作大幅簡化,系統會自動分派 Queue 訊息到目前連線的客戶端,大幅增加系統處理的效能。

<SCRIPT LANGUAGE="VBScript">

Sub btnSendQ_OnClick
Set tF = Document.forms("iptf")
A = tF.in_subject.Value
B = tF.in_message.Value
If (tF.ckPersistent.Checked) Then
ipushx.ipushSendPQueueData A, B, 1, 0, 0, 0, 0, 0
Else
ipushx.ipushSendNPQueueData A, B, 1, 0
End If
window.status = "send queue: " & A & ", " & B
End Sub

</SCRIPT>

iPush® V2 同時提供了 Pub/Sub 一對多與 Queue (P2P) 一對一這兩種的傳送訊息 模式與功能,目的都在幫助使用者能夠透過簡單的程式介面,在最短的時間內,設計建構出有效、穩定、而且安全的訊息傳遞系統。

我們的 iPush® V2 技術與實作系列文章,在本期將告一段落。期望透過我們 Step-by-step 的導引方式,可以讓您以最短的時間,了解並實作出您自己的即時訊息應用。

 

 



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

 


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


<Developer John 來信詢問>

我有多台主機都執行同一支  iPush® BackOffice CGI 程式 ,來對應用系統的使用者帳號進行存取,請問該怎麼做,才能有效率又有彈性?

感謝回答。

<Mr. Message 的答覆>

John 您好,感謝您來信詢問。

當您在 iPush® BackOffice 的 CGI access 管理介面中新增一筆 CGI Access User 資料時,可以在 IPs 欄位填入以「,」分隔的多個執行 CGI 程式的主機 IP。

若是您的主機數量太多,也可以 「xxx.yyy.zzz」為單位,將整組 Class C 都設定為可存取的主機群。多個 Class C 也可以「,」分隔。

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

 go top

[艾揚快訊] ICE Express   ICE Developer Center  


<快訊一> 

iPush® V2 : Fully kernel features support APIs 開放下載 (03.22)

ICE iPush® Communication Server V2 產品推出以來,受到許多舊雨新知的支持與鼓勵,艾揚透過提供多樣 的 APIs,儘量滿足 Developer 不同的應用需求,讓 Developer 簡單輕鬆就能建構即時訊息應用。

目前已在艾揚的網站上提供的各種 Fully kernel features support APIs 包括:

  • Linux - Linux C client library v2.2.1 for Red Hat 6.x/7.x and 8.x/9.x using with static link & dynamic link , and Sample Codes

  • ActiveX - ActiveX Control API v.2.3.1 & Samples Codes for ActiveXChannel, ActiveXSubject

  • Java - Java Package API v2.3.1 & Sample Codes for Java Application

APIs 相關檔案與 Programming Guide 下載,請先登入 ICE Developer Center,於 Download 區取得 >> Go ! 

go top

<快訊二>

即時訊息、地理資訊、與自動控制技術三劍合璧,強化虛擬時空與現實世界間的連結 (含簡報資料下載) (附照片兩張) (03.17)

艾揚科技舉辦的「強化虛擬時空與現實世界間的連結 - 即時訊息、地理資訊、與自動控制技術之整合應用與實踐研討會」,於 3 月 17 日圓滿落幕,會中以地理資訊系統、自動控制技術為經,即時/遠距/多點訊息技術家族 - iPush® Server 與 iPush® Embedded 為緯,涵蓋勤務派遣、行動 GIS 、管線管理等應用領域,邀請仲琦科技與崧旭資訊等合作廠商分享實際建置經驗,會場反應十分熱烈。

艾揚科技行銷長蔣居裕指出,真正的世界是具有「空間維度」與「時間維度」的。「地理資訊系統」自 1960 年代發韌以來,在鉅量資料庫系統、通用資料格式、與三維地理呈現等方面已有長足進展,但對於即時動態時序的資料如何在 GIS 系統上呈現,仍有許多力有未逮之處。 iPush® 即時訊息技術結合自動控制與 GIS 後,可將即時訊息力量與 GIS 所代表的空間資訊作完美的結合,同時達成現場與控制中心間的訊息流即時化、雙向化,讓 GIS 與自動控制能夠有效的整合,完全發揚系統應有的效益。

研討會簡報資料下載 >> Go !

 
照片 1、艾揚科技行銷長 蔣居裕以『即時訊息滾動,決策、應變、與商業價值立生』演說
,為研討會展開序幕。
照片 2、國內有合作實戰經驗的夥伴親身說法,
讓參與者更進一步了解 GIS 結合 iPush® Server 的應用與價值

 

go top

<快訊三>

2004 台北國際安全科技博覽會,3/24 艾揚科技強力登場,代表微軟參與亞洲安全週數位監控論壇 (03.19)

安防產業年度盛事 ── 亞洲安全週將於 3 月 24 日起登場,配合台北國際安全科技博覽會,於台北世貿展覽館二樓一連舉行 4 天,其中重頭戲為 3 月 24 日至 26 日的數位監控論壇。主辦單位 (紐奧良文化事業) 已邀請英特爾、微軟兩大 IT 產業龍頭主講產業趨勢篇,但其中的第二場,微軟因故無法參與,經主辦單位與台灣微軟合意,邀請微軟嵌入式系統夥伴 ── 艾揚科技代為出席。

艾揚科技 CTO 陳俊霖博士將於 3 月 24 日下午兩點十分將以「數位監控的系統軟體觀點」(Digital Surveillance : Aspect of System Software) 為題,發表英語演說,從微軟嵌入式系統夥伴的角度,闡述數位監控中系統軟體所扮演的重要角色、微軟的策略、佈局藍圖、以及數位監控系統軟體層級的發展趨勢,即時訊息中介軟體在數位監控中所扮演的角色也是其中的重點。

詳細情形,請參考艾揚活動公告網頁 >> Go !

數位監控應用發展論壇議程,請參考 >> http://www.secutech.com/chinese/seminars/list.asp#F2

go top

<快訊四>

iPush V2 Basic & Advanced Programming Workshop 教育訓練課程即將於 3/30-3/31 開跑,名額有限,請儘速報名 (03.16)

艾揚科技在 2003 年舉辦 iPush® Server V2 應用實務課程,受到學員熱烈響應,不僅座無虛席,並接受到許多熱情的建議。在 2004 年,艾揚科技推出一系列教育訓練課程的計畫,針對不同需求的 Developer 規劃不同的訓練課程。

目前規劃之課程包括金融界資訊人員期待已久的 Financial Suite SDK Workshop、艾揚最受歡迎的 iPush® Server V2 Basic Programming Workshop、為已接受過基礎訓練之學員量身訂做的 iPush® Server V2 Advanced Programming Workshop。

此外,為了加強學習效果,艾揚也不斷地修正目前教育訓現課程的內容,在進階的 iPush® Server V2 Advanced Programming Workshop 中,利用實際案例的操作來取代 AOS 以及 RDS 的課程,希望能夠透過實作,加強學員的應用能力;而 AOS 以及 RDS 為更進階之應用 Framework 課程,艾揚將另外擇期再開課,敬請期待。

課程詳細情形,請參考艾揚教育訓練網頁 >> Go !

 

 


上一期精采內容:在 VB 上利用 iPush 開發 Internet 即時訊息工具 (下)


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

免費試用 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.