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是必然不一樣的。本文就從設計乙個大使用者量的聊天室服務的角度出發來思考。首先使用者量大必然先考慮的問題是服務是單程序還是多程序,單機器還...