自製即時通訊App(取代Line)成功案例分享
- 撰文者:
- 2017/02/03 瀏覽數:15994
本組承接104年台南市政府工務局工程管理資訊系統,其中有一項需求是建置類似Line的即時通訊App功能,而針對此項功能,其無法直接引用市面已有的Line App 的原因有三,首先是基於安全理由,即時通訊主機必須建置在工務局機房中,如此配合通訊加密,無疑可將資訊做最完善保護及管理。其次,通訊內容並不像Line單純只是兩人間的溝通,是有公務性質,資料必須要留存運用統計等後續作業,所以必須要建置自己的通訊資料庫。第三點,通訊功能有客製化需求,如群組等都以各單位為限及人員位置追蹤等Line並無提供的功能。基於以上三點,是有自行開發建置類似Line通訊App的理由,而本組因緣際會承接此項專案,並圓滿達成任務,客戶使用的反應情況也極良好。有鑑於可能有與台南市政府類似狀況,相同需求的單位應該不少,所以特撰此文分享建置經驗以供參考。
為避免此文的讀者難以理解電腦生澀理論及太專業的電腦語法,本文將先展示此案的成果,然後再說明建置架構過程,最後再略述一下其技術上的重點部分。
首先,如圖一,使用者執行此App後會條列各單位及其成員,此為通訊通話的對象,此部分結合台南市政府員工資料庫,使用者無法任意添加以維安全。

圖一
然後,如圖二,選取你要通訊的對象,選取你要通訊方式,如同Line,此有分『通話』及『傳訊』兩種功能,通話還可分是否有視訊。

圖二
至於通話的功能,如圖三,有靜音擴音等功能,一如Line。而關於傳訊功能除一般文字交談功能外,如圖四,與Line一樣附加傳檔及傳圖片等功能,如圖五,可針對交談的對象,傳送各種可能訊息型式。

圖三

圖四

圖五
除了與Line相同的功能外,系統還擴充Line所沒有的功能,如線上使用者目前地理位置,如圖六,此系統的使用者目前位置可以透過PC端的地圖觀看,並可透過PC版的即時通訊軟體進行通話及傳訊。

圖六
以上即是自製通訊程式取代Line App的概要成果描述,以完成前述安全、自有資料庫及特殊需求的目的,並使這項原本看來似乎頗為困難遙不可及的任務獲得完美的成果,讓Line功能與個別的需求並存,魚與熊掌兼得。
以下接著說明製作過程,使有興趣的讀者能有一參考方向。先談通訊系統硬體架構,如圖七,最左側的SIP SERVER 即是我們要建置的主機,SIP 為 Session Initiation Protocol的縮寫,其是一種通話用的通訊協定,ATA 是一種橋接器可將數位訊號轉類比,簡單說就是除手機互撥免費外,也可撥到一般電話機。PBX是電話交換機,如同一般類比式的電話交換機,PBX用的是網路IP。

圖七
上圖乍看複雜,其實我們要建置的即是最左邊的SIP SERVER,要撰寫的即是SIP SERVER SDK程式,其他都只是硬體。這部分完成後,手機端或PC端只要撰寫與之交談的介面,再加上操作畫面即可,細節不看,好像也不如想像中困難。
上面的架構嚴格說來是『通話』用,我們還有『傳訊』的功能沒講,這部分其實與通話硬體架構完全無關,傳訊走的是一般傳統的網際網路HTTP PORT 80通訊協定,這部份程式實作上其實也是完全類似PC電腦網頁的AP般,所以上硬體架構圖最左邊的主機應該是兩台,一個服務通話,一個服務傳訊,雖然此兩個服務可擺在一台主機中。
最後講一下開發工具供有意建置的讀者參考,首先是開發平台,主機我們用的是Visual Studio,使用VC++ 開發,資料庫使用的是 MS SQL SERVER,『通話』功能用的SDK,因考慮到將來還是有許多狀況需要自行解決,所以仍採自行開發,讀者其實可以採用市面上免費或付費SDK,以加快開發期程。至於通訊主機則因是一般網際網路服務程式,完全可以自行開發,此處省略。
關於手機Android的部份,用的是Eclipse Java,蘋果手機用的是iOS Xcode。
在通訊還有一些技術上的『眉角』,略提一下,如Client端保持不斷線的責任,Server端則一段時間後自動斷線,以防止Client端關機等不正常使用。又如Server端應採『送後不理』,以防止多人使用下整個咬死。諸如此類的防呆防不正常使用的機制,這在此多人複雜使用下非常重要。
Line App 多年來受全球客戶喜愛,其功能堪稱完美,但因其強調方便使用,造成其在某些作業上有安全疑慮,此尤其在公部門的使用上常有資訊外洩的問題發生,但通訊日漸發達的今天,不管是通話或傳訊又對業務極有助益,綜合起來建置自有的通訊系統極有意義,本文即是對於有此考慮的讀者注入一劑強心針,讓本有意建置但想到Line Skype 等大公司才能開發,因此而望之卻步,透過本文可發現並非如此,相信讀者只要按本文所展示及提點的方式,必定可以如同台南市政府一般,在一年內即可建置及使用。撰寫此文是因筆者相信光一個『安全』的理由,未來如同我們這樣建置,必定比比皆是。
車業國際標準及VDA FFA 使用現場失效件分析 NTF過程 - 南科班 - 第二梯
上課時間 2026/07/10 ~ 2026/07/10
主管的四大管理: 目標管理、日常管理、與績效管理與人員管理 - LINE@ID:@274aywrg - 楊伸太老師
上課時間 2026/05/25 ~ 2026/05/25
新版ISO 14001:2015環境管理系統內部稽核員培訓班 - 需考試
上課時間 2026/09/17 ~ 2026/09/18
高壓氣體製造安全作業主管安全衛生在職教育訓練
上課時間 2026/03/19 ~ 2026/03/19
荷重在一公噸以上堆高機操作人員在職教育訓練(南科班) - 下午班-堆高機回訓 - 請上傳原始證書
上課時間 2026/03/27 ~ 2026/03/27
採購作業計畫與供應商管理
上課時間 2026/10/21 ~ 2026/10/21
AI x 社群:從零開始Meta廣告,基礎投放策略到素材優化 - 實體上課與視訊同步 - 請攜帶筆電
上課時間 2026/05/29 ~ 2026/05/29
多元共融與員工福祉管理 - LINE@ID:@274aywrg - 張靖梅老師
上課時間 2026/04/16 ~ 2026/04/16
超越競爭的賽局理論與實務應用 - <決策力>
上課時間 2026/03/25 ~ 2026/03/25
品牌行銷必勝攻略 - LINE@ID:@274aywrg - 實體+遠距同步 - 林特豐老師
上課時間 2026/05/20 ~ 2026/05/20