愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

      • 定位精靈
      • 溫濕度採集與控制
      • 車間資訊採集與控制
      • SVG組態
      • 網路聊天室
        • 1. 說明
        • 2. 設計明細
        • 3. 程式設計
          • 3.1. 程式初始設定
          • 3.2. 事件設定
        • 4. 運行結果
      • 三色聲光報警器運用
目录

網路聊天室

# Smart之網路聊天室

# 1. 說明

  通過Smart連線至FastWeb中的IsoBean模組,實現網路聊天室的功能。

  通過範例學習,可以掌握RestAPI與WebSocket控制元件的使用方法,並與FastWeb的IsoBean結合實現網路聊天室的功能。

  關於IsoBean的相關內容可參考 Bean通訊 與 IsoBean開發流程 。請注意,使用此示例需要配合FastWeb使用。

# 2. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案] - [打開專案]選擇專案打開該範例。

  1:TLabel元件,控制元件名稱為 Label1。

  2:TIsoBeanServer元件,控制元件名稱為 IsoBeanServer1。

  3:TIsoBeanSource元件,控制元件名稱為 IsoBeanSource1。

  4:TRestAPI元件,控制元件名稱為 RestAPI1。

  5:TWebSocketClient元件,控制元件名稱為 WebSocketClient1。

  6:TIsoBeanVision元件,控制元件名稱為 IsoBeanVision1。

  7:TLabel元件,控制元件名稱為 Label2。

  8:TEdit元件,控制元件名稱為 Edit2。

  9:TLabel元件,控制元件名稱為 Label3。

  10:TEdit元件,控制元件名稱為 Edit3。

  11:TButton元件,控制元件名稱為 Button1。

  12:TButton元件,控制元件名稱為 Button2。

  • Main窗體屬性設定

    • Caption:主窗體標題,設定為IsoBean Demo。
    • Height:窗體的畫素高度=768。
    • Width:窗體的畫素寬度=1024。
    • Color:設定背景顏色,設定為 $00F3F3EF。
  • 1:Label1屬性設定

    • Caption:設定標籤顯示的文字,設定為 網路聊天室。
    • Font:設定顯示的字型內容,雙擊屬性編輯框,打開字型設定界面,設定的界面內容如下。
  • 2:IsoBeanServer1屬性設定

    • Server:設定IsoBean伺服器的地址,示例設定為 http://localhost:8888/。
    • UserKey:設定發佈使用者的授權碼。表示為使用者的唯一ID。
  • 3:IsoBeanSource1屬性設定

    • IsoBeanServer:選擇繫結的IsoBean伺服器,設定為 IsoBeanServer1。

      在控制元件處使用滑鼠右鍵單擊,選擇 Properties...,打開IsoBean屬性編輯頁面,在IsoBean處填寫編號 IB_wb-vis-0008_chatroom,點選 [從伺服器下載參數],將參數下載至本地。點選 [確定] 按鈕確認屬性設定。

  • 4:RestAPI屬性設定

      雙擊控制元件,打開編輯對話方塊,按照圖中的設定項進行設定。

  • 5:WebSocketClient1屬性設定

    • Host:設定WebSocket伺服器的主機地址,設定為 127.0.0.1。
    • Port:設定WebSocket伺服器監聽的埠,設定為 8805。
    • Options:設定屬性項,設定其中的 Parameters 項為 /message。
  • 6:IsoBeanVision1屬性設定

    • Active:設定是否啟用顯示,設定為 True。
    • IsoBeanSource:設定繫結的 IsoBeanSource,設定為 IsoBeanSource1。
  • 7:Label2屬性設定

    • Caption:設定顯示的字幕內容。設定為 發送使用者名稱。
    • Font:設定顯示的字型,雙擊打開字型設定視窗,按照下述方式進行設定。
  • 8:Edit2屬性設定 * Font:設定顯示的字型內容,雙擊屬性編輯框,打開字型設定界面,設定的界面內容如下。

    • Text:設定編輯框中顯示的文字,設定為 demo。
  • 9:Label3屬性設定

    • Caption:設定顯示的字幕內容。設定為 發送內容。
    • Font:設定顯示的字型,雙擊打開字型設定視窗,按照下述方式進行設定。
  • 10:Edit3屬性設定

    • Font:設定顯示的字型內容,雙擊屬性編輯框,打開字型設定界面,設定的界面內容如下。
    • Text:設定編輯框中顯示的文字,設定為 Hello IsoBean Smart Client。
  • 11:Button1屬性設定

    • Caption:設定界面顯示的文字內容,設定為 API發送。
  • 12:Button2屬性設定

    • Caption:設定界面顯示的文字內容,設定為 WS發送。

# 3. 程式設計

# 3.1. 程式初始設定

  程式初始化時,設定瀏覽器控制元件初始化,WebSocket客戶端發起連線。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.WebSocketClient1.Active := true;
end;
1
2
3
4
5

# 3.2. 事件設定

  • 11:Button1-OnClick事件

  點選按鈕,使用API方式發送訊息。

procedure TMyHandler.Button1Click;
//API發送訊息
var
  msg: String;
begin
  msg := '{' +
  '"username": "demo",' +         
  '"action": "callback",' +    
  '"tag": "0",' +  
  '"data": {' +
    '"callbackcomponent": "wb-vis-0008_chatroom",' +   
    '"callbackeventname": "update",' +  
    '"callbackparams": [' +              
      '{' +
        '"paramname": "user",' +
        '"paramvalue": "' + FThis.Edit2.Text + '"' +
      '},' + 
      '{' +
        '"paramname": "message",' +
        '"paramvalue": "'+ FThis.Edit3.Text + ' By RestAPI"' +
      '}' +
    ']' +
  '}' +
  '}';
  FThis.RestAPI1.Body.Text := msg;
  FThis.RestAPI1.Send;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  • 12:Button2-OnClick事件

  點選按鈕,使用WebSocket伺服器發送訊息。

procedure TMyHandler.Button2Click;
//WS發送
var
  msg: String;
begin
  msg := '{' +
  '"username": "demo",' +         
  '"action": "callback",' +    
  '"tag": "0",' +  
  '"data": {' +
    '"callbackcomponent": "wb-vis-0008_chatroom",' + 
    '"callbackeventname": "update",' +  
    '"callbackparams": [' +              
      '{' +
        '"paramname": "user",' +
        '"paramvalue": "' + FThis.Edit2.Text + '"' +
      '},' + 
      '{' +
        '"paramname": "message",' +
        '"paramvalue": "'+ FThis.Edit3.Text + ' By WebSocket"' +
      '}' +
    ']' +
  '}' +
  '}';
  FThis.WebSocketClient1.WriteString(msg);
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  • 5:WebSocketClient1-OnConnect事件

  當WebSocket客戶端連線至伺服器時,發送註冊訊息,進行會話ID註冊。

procedure TMyHandler.WebSocketClient1Connect;
//連線
begin
  FThis.WebSocketClient1.WriteString('{"action":"login","sid":"smartdemo"}');
end;
1
2
3
4
5

# 4. 運行結果

  使用滑鼠點選工具欄運行(Run),測試運行結果。

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

  運行等待瀏覽器控制元件初始化完成後,點選URL地址編輯欄右側的按鈕載入網頁,界面中顯示聊天的記錄內容。點選 [API發送] 與 [WebSocket發送] 可使用兩種方式發送訊息顯示。

SVG組態
三色聲光報警器運用

← SVG組態 三色聲光報警器運用→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式