開發(fā)通信軟件的技術與技巧

字號:

一、前言
    本文將以VB5.0所帶的通信控件MSCOMM進行通信軟件的開發(fā),它有約30個屬性和事件(可以從聯(lián)機幫助中找到其使用資料)。本文簡述它的主要屬性及事件,并歸類整理。
    利用串行端口與調(diào)制解調(diào)器進行連接時,對于用MSCOMM控件編制通信軟件來說,只需了解以下五根線的代號及作用。以下五根線的高電平/低電平狀態(tài)分別對應MScomm控件的相應屬性的True/False值。
    (1)DTR線:PC發(fā)往MODEM,表示PC機是否已準備好。
    (2)RTS線:PC發(fā)往MODEM,表示PC機是否允許modem發(fā)回數(shù)據(jù).
    (3)DSR線:MODEM發(fā)往PC,表示MODEM是否已做好操作準備
    (4)CTS線:MODEM發(fā)往PC,表示MODEM是否允許發(fā)送數(shù)據(jù)
    (5)CD線:MODEM發(fā)往PC,表示MOEDM已經(jīng)與呼叫的遠方MODEM處于連結(jié)狀態(tài)
    二、MSCOMM控件的屬性
    屬性
    值
    作用
    CommPort
    用1,2,...表示串口COM1,COM2....
    設置或返回聯(lián)接MODEM的串口的編號
    Settings
    例用"19200,N,8,1"表示傳輸速率為19200bps,沒有奇偶校驗位,8位數(shù)據(jù)位,1位停止位。
    設置或返回通信參數(shù)。
    Handshaking
    0沒有握手協(xié)議,不考慮流量控制。
    1XON/XOFF,即在數(shù)據(jù)流中嵌如控制苻來進行流控。
    2RTS/CTS,既由信號線RTS/CTS自動進行流量控制(常用)。
    3兩者皆可。
    設置或返回硬件握手協(xié)議,指的是PC機MODEM之間為了控制流速而約定的內(nèi)部協(xié)議。
    PortOpen
    True/False可以打開/關閉端口。
    打開或關閉端口。
    OutBufferSize
    傳輸緩沖區(qū)的字節(jié)數(shù),如選1024。
    設置或返回傳輸緩沖區(qū)大小。
    OutPut
    Variant型變量。
    向傳輸緩沖區(qū)寫數(shù)據(jù)流。
    傳輸文本數(shù)據(jù)時,應將String型數(shù)據(jù)放入Variant變量,傳輸二進制數(shù)據(jù)(即按字節(jié))時,應將Byte型數(shù)組數(shù)據(jù)放入Variant變量
    InBufferSize
    接收緩沖區(qū)的字節(jié)數(shù),如選1024。
    設置或返回接收緩沖區(qū)大小。
    InputMode
    0用Input屬性接收文本型數(shù)據(jù)。
    1用Input屬性接收二進制數(shù)據(jù)。
    設置或返回接收數(shù)據(jù)的數(shù)據(jù)類型。
    InBufferCount
    Integer型
    返回接收緩沖區(qū)中已傳到但還未取走的字符個數(shù)。
    Input
    當InputMode屬性值為0(文本模式)時,變量中含String型數(shù)據(jù)。
    當InputMode屬性值為1(二進制模式)時,變量中含Byte型數(shù)組數(shù)據(jù)。
    將接收緩沖區(qū)中收到的數(shù)據(jù)讀入變量。
    DTREnabled
    RTSEnabled
    DSRHolding
    CTSHolding
    CDHolding
    均取值TRUE/FALSE
    用于讀取或控制pc機與modem之間的交互狀態(tài)。需運用好。例如,應在讀取到DSRHolding屬性值為TRUE時再向MODEM發(fā)出命令。應當在載波檢測到以后(CDHolding屬性為TRUE)時再向MODEM發(fā)送數(shù)據(jù)。