亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用VB設計聊天室

2019-11-18 17:35:41
字體:
來源:轉載
供稿:網友
Internet上的聊天室一向是一個吸引人的地方,但多用C語言設計,我用VB設計了一個聊天室,取名為“升達自由論壇”,實際使用證明效果良好。

----Internet上的通訊協議是TCP/ip,Internet上數據傳輸協議主要有TCP和UDP,TCP是有連接協議,它要求計算機進行對話時必須先建立連接,保證數據傳送安全到達目的地。UDP是無連接協議,它只是將信息送到網絡上,并不檢查數據是否到達了目的地。要進行實時會話,則應該采用TCP協議。本程序采用的協議就是TCP協議。

----程序分服務和客戶程序兩部分??蛻舫绦騿雍笫紫扰c服務器連接,連接成功后,隨意輸入一個名字即可進入聊天室;服務程序則負責維護與每一個客戶的連接和數據交換,并且記錄下所有聊天內容,及人員名單。由于在會話過程中大家起的都是假名字,不可避免地要有的人講一些不健康內容,為了保持秩序,服務器程序實現了IP地址跟蹤功能。管理人員可以很容易地查找出每一個匿名的計算機名,并對之進行警告或其它處理(下面會進一步介紹)??杀WC會話內容的健康。如果服務器程序關閉,則所有客戶程序自動關閉。

VB5的Winsock控件

----VB5企業版提供了Winsock控件,要實現兩臺計算機的對話,可以通過Winsock控件進行。而不需了解更多的數據傳輸細節,本程序就是通過Winsock進行的。

----Winsock有多種屬性、方法和事件,本文只列舉出要使用的屬性、方法和事件。

----......

----一個Winsock控件可以建立與一個計算機的聯接,服務器程序中首先設置一個Winsock控件,將其索引值設為0,以便在運行時動態增減元素,這樣可以與多個計算機進行對話。

程序介紹

----服務程序部分

----服務器程序啟動時,先設置自己的本地端口,因為有些端口有其固定的作用,如80是WWW端口,故盡可能選擇不可能使用的端口,這里我選擇了1600。將連接狀態設置為假,然后開始進行偵聽。當偵聽到有計算機要求與服務器進行對話,就接受,并記錄下客戶機的地址、端口、客戶起的匿名,將連接狀態設置為真,將上述內容存入一個用戶自定義的數組中,進行動態維護。用戶自定義數據類型如下:

PRivateTypeActiveUser
ClientIPAsString記錄客戶的IP地址
ClientNameAsString記錄客戶的匿名
ClientPortAsInteger記錄當前會話的端口
ClientConnectedAsBoolean
客戶連接狀態,True表示已連接,False表示沒有連接
EndType

----做完這些工作后,服務器再調入一個新控件,進行新的偵聽,如此反復不斷。如果有客戶退出,則關閉相應的連接。注意不能在客戶端關閉連接,否則會產生錯誤,只能由服務器關閉連接。服務器程序主要對象設置

.
.
.

----利用上述對象可以實現服務器的各種功能,當然,還可以再加入新控件,以使界面更美觀。

----服務程序中三個關鍵程序段如下:

----1.處理連接請求

----sckServer_ConnectionRequest過程處理連接請求,當遠程計算機要求連接時,服務器首先檢查用戶自定義數組中是否有空閑位置(因為在談話中途,肯定會有人退出,所以會產生空閑位置),如果有則選擇空閑位置給予要求連接的客戶,否則將數組維數加一,將之給予請求連接的遠程節點。錯誤處理主要是忽略兩個或兩個以上的客戶同時要求連接時產生的地址沖突現象。

----......

----2.處理處于連接狀態的用戶發送來的信息

----sckServer_DataArrival過程處理客戶端傳來的數據。當有數據發送過來后,服務器首先接收數據,調用自定義過程HandleOtherMessage檢查是談話內容還是其它信息,如果是其它信息,則在HandleOtherMessage中進行處理,否則在本過程中進行處理。

----因為Winsock控件將數據首先送至緩沖區,待緩沖區滿才發送信息,這顯然不能保證適時對話,用Doevents語句可確保Windows將數據及時送出。其中的錯誤處理程序處理當遠程計算機非正常關閉程序時產生的錯誤,因為此時服務器并不知道它已關閉,仍然向它發送信息,這樣就會產生錯誤,導致服務程序關閉,中斷整個談話。處理方法只是簡單地關閉掉該連接即可。

----......

----3.關閉客戶連接

----sckServer_Close過程關閉與客戶的連接,刪除控件,收回系統資源,將該位置的連接狀態設置為假,以便有用戶請求連接時繼續使用。它一般由HandleOtherMessage過程調用

----......

----如何保證聊天內容的健康是一個很重要的方面,在Internet上,我們對談話內容不健康者,只有將之開除出聊天室。但在局域網上則可以查出是誰談話不文明(局域網環境為WindowsNT4.0服務器,Windows95工作站)。方法如下:在95工作站上將網絡中的TCP/IP協議中的IP地址選項設為動態獲得IP地址,在NT服務器上用DHCP管理工具為每一個客戶機進行IP地址動態分配。聊天服務程序記錄下來了每一個客戶的IP地址,我們就可以通過DHCP管理工具很容易地查出某IP地址對應的計算機名,并進行處理。

客戶程序部分

----客戶程序啟動時首先設置服務器的地址及端口,這里我直接使用了“192.168.0.2”,這是我的服務器地址,可以在Form_load過程中設置你自己的服務器地址,也可在程序開始時讓用戶輸入服務器地址以增加靈活性。時鐘控件用以與遠程節點進行自動連接。

----......

----客戶程序主要對象設置

----......

----“”顯示所有正在聊天室中的用戶名

----顯示當前的狀態(用戶名,IP地址及是否密談)

----與服務器程序一樣,這里列出的并非全部的控件,但是已經足以完成工作。

----客戶程序中的自定義類MyMessage用來記錄自己的信息,

----......

----類中的變量cmdExitClick用來記錄用戶是否按了退出按鈕,如果是按了退出按鈕則為真。當用戶選擇了系統的窗體關閉菜單而沒有按退出按鈕時將會產生錯誤,因此用它來記錄是如何退出的,如果選擇了系統的窗體關閉菜單,則執行一次cmdExit_Click()過程,以確保無誤。

----客戶退出時,不是簡單地關閉自己的Winsock控件,而是發送一個字符串(我采用了一個大家在聊天時很難用到的字符串“=_RE”)給服務器,表明自己要退出,由服務器端關閉連接,進而關閉自身。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品∨欧美精品v日韩精品| 欧美最猛性xxxxx亚洲精品| 国产成人一区三区| 亚洲已满18点击进入在线看片| 一本色道久久综合狠狠躁篇的优点| 精品丝袜一区二区三区| 亚洲香蕉在线观看| 国产91色在线|| 欧美电影免费在线观看| 日韩免费黄色av| 欧美在线亚洲在线| 人人做人人澡人人爽欧美| 欧美日韩一区二区免费视频| 亚洲精品丝袜日韩| 亚洲va欧美va国产综合剧情| 色婷婷av一区二区三区在线观看| 国产亚洲一级高清| 成人女保姆的销魂服务| 亚洲国产精品久久久久秋霞蜜臀| 欧美一级电影在线| 91免费版网站入口| 一区二区三区无码高清视频| 国产一区二区精品丝袜| 亚洲欧美国产另类| 日韩在线一区二区三区免费视频| 亚洲国产日韩欧美在线动漫| 久久久久免费视频| 国产精品高清免费在线观看| 亚洲美女精品久久| 国产精品免费福利| 亚洲在线免费观看| 精品网站999www| 日本久久久久久久久久久| 中文字幕亚洲一区二区三区五十路| 国产精品成人一区二区三区吃奶| 日本精品久久久久久久| 色综合色综合久久综合频道88| 日韩精品视频免费在线观看| 欧美亚洲另类激情另类| 国产精品嫩草影院一区二区| 国产区精品视频| 亚洲a级在线观看| 色偷偷亚洲男人天堂| 国产精品 欧美在线| 欧美尺度大的性做爰视频| 综合国产在线观看| 日韩av综合网站| 日韩一级裸体免费视频| 久久久久国产精品免费| 国产精品久久久久久久久久久新郎| 国产精品综合网站| 亚洲国产小视频| 成人欧美一区二区三区黑人孕妇| 日韩中文第一页| 国产亚洲欧洲黄色| 国产日韩专区在线| 日韩欧美a级成人黄色| 91精品综合久久久久久五月天| 国产精品一区二区三区免费视频| 久久国产精品久久久| 久久久日本电影| 国产91精品不卡视频| 亚洲男人av在线| 亚洲福利视频在线| 精品国产乱码久久久久久虫虫漫画| 51久久精品夜色国产麻豆| 日韩av一区二区在线| 欧美在线亚洲在线| 国产精品亚洲第一区| 国产精品高清免费在线观看| 欧美成人免费在线观看| 国产精品美女呻吟| 欧美激情一级精品国产| 一区二区三区亚洲| 久久精品精品电影网| 69**夜色精品国产69乱| 欧美日本高清视频| 国产精品久久久久免费a∨大胸| 在线精品视频视频中文字幕| 色综合天天综合网国产成人网| 欧美裸体男粗大视频在线观看| 国产日韩精品在线| 日韩在线观看网址| 57pao成人国产永久免费| 国语自产精品视频在线看| 国产精品www网站| 97av在线影院| 欧美成人免费在线视频| 最近中文字幕mv在线一区二区三区四区| 国产精品尤物福利片在线观看| 欧美成人在线免费视频| 国产精品高潮呻吟久久av无限| 亚洲精品美女网站| 国产成人高清激情视频在线观看| 成人免费看吃奶视频网站| 久久久久久久久久婷婷| 欧美激情aaaa| 久久综合久久美利坚合众国| 国产精品日韩久久久久| 亚洲欧美精品伊人久久| 亚洲欧美在线磁力| 欧美日韩在线观看视频小说| 欧美成人午夜免费视在线看片| 久久久久女教师免费一区| 久久精品国产欧美亚洲人人爽| 国产精品日韩专区| 欧美电影在线观看高清| 国产精品免费一区二区三区都可以| 亚洲图片制服诱惑| 久久精品色欧美aⅴ一区二区| 国产精品香蕉国产| 日日狠狠久久偷偷四色综合免费| 国产在线精品一区免费香蕉| 久久人人爽亚洲精品天堂| 日本亚洲欧美成人| 91精品久久久久久久久久久久久| 日韩在线www| 欧美另类暴力丝袜| 欧美激情免费观看| 亚洲色图综合网| 精品久久久国产精品999| 自拍偷拍亚洲欧美| 深夜成人在线观看| 亚洲在线视频福利| 国产精品无码专区在线观看| 欧美激情一级二级| 国产欧美日韩免费| 亚洲欧美日韩天堂一区二区| 国产精品日韩在线播放| 最新中文字幕亚洲| 97热在线精品视频在线观看| 日本精品视频网站| 日韩av在线免费观看| 国产小视频国产精品| 国模私拍视频一区| 亚洲系列中文字幕| 久久久久久69| 日韩av在线高清| 亚洲精品福利资源站| 久久久久久久久亚洲| 欧美大片大片在线播放| 日韩精品久久久久久久玫瑰园| 97超碰国产精品女人人人爽| 日韩精品视频免费专区在线播放| 欧美成人亚洲成人| 久久久久久久电影一区| 欧美丝袜一区二区| 91中文字幕在线观看| 久久精彩免费视频| 成人午夜小视频| 亚洲欧美激情四射在线日| 日本精品视频在线| 国产精品一区二区电影| 久久亚洲精品中文字幕冲田杏梨| 亚洲免费av片| 国产97免费视| 国产在线观看精品一区二区三区| 亚洲一级黄色片| 成人激情视频网| 亚洲人成在线一二| 久久青草福利网站| 国产免费久久av| 欧美黄色免费网站| 97视频在线观看免费高清完整版在线观看|