聊天室vc實現 設計文件

2022-02-16 10:38:23 字數 2322 閱讀 2759

18:51:55  2010-11-01

基於tcp/ip協議的,簡單聊天室的vc實現。

感覺一團亂糟糟,在寫文件,花3天的時間。

2010-11-03  15:21:46

基於tcp/ip協議的聊天室實現

---概要設計

一、功能需求分析

服務端1.

首先初始化伺服器,即啟動伺服器,

當編譯執行服務端後,彈出一對話方塊,顯示,「伺服器初始化成功」。

使用者登入,伺服器端對話方塊,顯示 「時間、、某某進入聊天室」。

使用者退出,伺服器端對話方塊,顯示「 時間 **離開聊天室」 。

客戶端,

1.編譯執行,彈出登入對話方塊,顯示要求使用者登入、

輸入使用者名稱,使用者ip位址。

2.使用者輸入資訊,單擊「確定」按鈕後,直接彈出、進入聊天對話方塊。

與此同時,伺服器端對話方塊,顯示 「時間、、某某進入聊天室」等資訊。

3.然後在客戶端對話方塊,即聊天室對話方塊下,

已登入並連線伺服器的使用者,可以傳送資訊,這裡暫只考慮只傳送給大家,

相當於qq群內,聊天,不處理私聊 等功能。

4.客戶端支援多個使用者連續登入伺服器,與大家聊天。

相當於,多人登入qq後,進入qq群,當某一使用者退出時,

與此同時,伺服器端對話方塊,顯示「 時間 **離開聊天室。

二、設計思路分析

基於tcp/ip的通訊基本上都是利用socket套接字進行資料通訊,

程式一般分為伺服器端和使用者端兩部分。設計思路(vc6.0下):

第一部分 伺服器端

一、建立伺服器套接字(create)。

二、伺服器套接字進行資訊繫結(bind),並開始監聽連線(listen)。

三、接受來自使用者端的連線請求(accept)。

四、開始資料傳輸(send/receive)。

五、關閉套接字(closesocket)。

第二部分 客戶端

一、建立

客戶套接字(create)。

二、與遠端伺服器進行連線(connect),如被接受則建立接收程序。

三、開始資料傳輸(send/receive)。

四、關閉套接字(closesocket)。

三、編碼步驟分析

在建立mfc程式第二步的時候選上windows socket選項

。編碼步驟:

1.伺服器端,初始化伺服器。

2.編寫使用者登入對話方塊,clogindlg中,輸入使用者資訊,暱稱+伺服器ip位址。

3.當使用者單擊確定時,若連線伺服器成功,則直接彈出聊天對話方塊,

進入聊天室介面。

否則,彈出警告框,提示「網路建立錯誤」,即create函式呼叫出錯。

或者,彈出警告框,提示「連線伺服器失敗!」,即connect函式呼叫出錯。

4.構造csocket物件,

服務端的資訊顯示:

serversocket

,onaccept(連線connectlist)。

clientsocket

,onreceive(某某進入聊天室),onclose(某某離開聊天室)

oninitdialog(伺服器初始化成功)

updateuser(使用者記錄更新)

客服端:

clientsocket

(onreceive

)登入對話方塊上,單擊確定按鈕,呼叫connect函式。

聊天對話方塊上,具體設計onsend、函式。

5.編寫

create

函式,建立socket。create會自動呼叫bind函式,

將建立的socket繫結到指定的 伺服器ip位址,和埠上。

6.啟動伺服器,socket監聽

listen

,是否有連線請求,

7.具體連線伺服器,

connect

,指定伺服器

ip位址,和埠。

8.伺服器接受請求,

accept

(receivesocket)

,此時伺服器端,還需建立乙個新的

csocket物件,用來與客戶端進行交流。

即當 使用者進入聊天室,和離開聊天室,伺服器端,都能顯示相應的使用者資訊。

9.然後是,聊天室中,實現聊天等功能,的

receive

和send

函式的設計。

-- july、2010/11、03。

進入具體設計階段,

第三天 文件   11/05

基於tcp/ip協議的聊天室實現

---具體設計

....

設計已經結束。11.25.

php html實現聊天室

1.最簡單的方式 不斷重新整理頁面 資料庫建立 create table chat chattime datetime,nick char 10 words char 150 login.php 請輸入您的暱稱 cdisplay.php conn mysql connect 127.0.0.1 ro...

mysql 聊天室 聊天室php mysql 六

聊天室php mysql 六 相應的 資料庫 phpmyadmin mysql dump 主機 localhost 3306 資料庫 study28 資料表的結構 chat user create table chat user userid varchar 20 not null,passwd v...

聊天室服務分析設計

如果你需要寫乙個簡單的聊天室的服務,那麼我想很多網上的demo都可以直接拿來用。但是如果你要做的是給線上百萬甚至千萬級使用者用的服務,那麼,整個結構和聊天室demo是必然不一樣的。本文就從設計乙個大使用者量的聊天室服務的角度出發來思考。首先使用者量大必然先考慮的問題是服務是單程序還是多程序,單機器還...