请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 15515|回复: 36

以 Lazarus 實作收銀機前後台通訊程式 (使用 INDY 10)

[复制链接]

该用户从未签到

发表于 2010-8-24 23:56:26 | 显示全部楼层 |阅读模式
看到標題, 或許有人會覺得奇怪, POS 跟後台 DB 通訊或要資料, 用資料庫聯結的方式或是 HTTP/XML 查詢不就得了 ??  原因如下
1.這是有數百台 POS 規模的客戶, 不會讓你每台 POS 都灌個 ORACLE CLIENT 之類的東西直接去連資料庫
2.專櫃收銀員素質不一, 預防利用 POS 偷上網, 或是病毒感染癱瘓整個賣場網路, 幾乎所有通訊協定都鎖起來, 除了 POS 跟 POS SERVER 間自定的 Middle ware 的通訊協定
3.包含檔案傳輸, 都絕不透過網芳或是 FTP , 完全使用自訂通訊方式 , 本案例就是實做自訂的  POS 跟 POS SERVER 間的 Middle ware 通訊


我個人把收銀機前後台網路通訊歸類為四種主要命令, 建立好後這四種命令機制後, POS 前後台之間的通訊需求都可搞定, 其它業種之程式需求當然也可應用到

1.SEND_STR 命令 : POS 向主機發出 STRING 資料
  例如 : POS 送出 "I AM ALIVE" 告知主機 POS 連線狀況

2.GET_STR 命令 : POS 向主機要求取回 STRING 資料

  例如 : POS 向後台要回主機時間字串以便同步 POS 時間,