ASP實現OICQ式的資訊收發功能
來源:互聯網
上載者:User
應廣大好友的提議,本站將會常推出有關程式設計思路的文章。
在ASP中實現OICQ式的發資訊功能,實現此功能的方法很多,在此我主要介紹以數組存取資訊的方式。
在ASP中定義一個陣列變數:APPLICATION(ID,IX)(例:APPLICATION(100,30)),ID表示使用者號,可以是100,就是同時可以讓100個使用者使用線上資訊發送,一個使用者有一個唯一的ID;後面的IX是一個使用者的資訊條數!數值為30時,就是一個使用者可以同時最多可以放30條資訊。
當一個使用者登陸時就給這個使用者指派一個沒有被使用者佔用的ID號(比方說使用者ID為3),有人發資訊給他時,只要把發的資訊存入APPLICATION(3,IX),在存入前要先判斷這個APPLICATION(3,IX)是否為空白,為空白時才把資訊存進去。如果不為空白,就把IX+1,如果APPLICATION(3,IX+1)還是不為空白,就把IX+2......到了30,就返回資訊已滿,叫這個使用者一會兒再發。(可以用For ... Next語句實現上面的IX+幾的功能。IX就從1到30,0還有別的用處)
使用者如何收到其它使用者發來的資訊呢?在一個頁面的<head></head>中用“<meta http-equiv=refresh content='5;url=XX.asp'>”,其中5是調用的時間間隔,此值可以讓你設定檢查有沒有使用者發自信給您的時間間隔。再在這個XX.asp頁面來檢查自己的ID號的APPLICATION(ID,IX)裡的資訊,這裡的IX要從1到30都檢查一次(可以用For ... Next語句),不從0開始的原因0還有別的用處。如其中的一個數組APPLICATION(ID,IX)中有資訊,就把資訊發到使用者的瀏覽器,並把相應的數組APPLICATION(ID,IX)裡的資訊清空,以便存放新的資訊。
還有一點重要的是怎麼樣知道一個ID是否已被佔用,至於使用者佔用一個ID時,就把APPLICATION(ID,0)值為使用者名稱,這樣APPLICATION(ID,0)有了值,就說明此ID已經被佔用,其它新登陸的使用者使用ID時,就用語句判斷APPLICATION(ID,0)的值是否為空白,如果為空白,就說明此ID沒有被佔用。如果一個使用者關閉瀏覽器,你必須一定要清空此ID的APPLICATION(ID,0)的值,不然此ID永遠是被佔用的,其它使用者就不能使用此ID。
關於ASP中實現OICQ式的發資訊功能已經基本上完成,如果你想做得更好,比方說用使用者名稱代替使用者的ID,因為怎麼說名字比數位ID好記,那你得好好動一下腦筋,因為上面的細路已經實現了這個功能。