聊天室 Python作為伺服器C 作為客戶端

2021-08-20 22:37:06 字數 1882 閱讀 5155

1.有登入介面等各種介面

2.客戶端和伺服器能進行簡單通訊

3.群聊:聊天內容加密,名字+內容

4.一對一聊:給指定客戶端發訊息

5.登入:登入到已註冊資料庫

6.註冊:資料庫中新增使用者

7.資料庫:伺服器和資料庫互動,pymysql(連線到資料庫)

8.新增好友:新增已經註冊使用者為好友

9.搜尋好友:搜尋已為好友使用者

c/c++:會利用別人寫的庫函式,拷貝庫函式api

python:一天精通python,利用python中類以及多執行緒

資料庫程式設計:在本次專案中需要使用資料庫add程式設計,以及c/c++如何連線和運算元據庫,一些基本語句(比如:資料庫中的增、刪、改、查操作語句)

1.動手能力以及實踐能力

2.鍛鍊邏輯思維能力和想象力

3.能夠利用所學的基本知識和技能,解決簡單的程式設計問題

1.伺服器和客戶端不在同一臺機器上即:ip不同;客戶端ip可相同

同一ip埠不同客戶端發訊息

mac位址—ip位址—icmp—arp

埠—應用程式

windows_socket原來資料通訊,遵守相對的規則,雙方才能進行資料通訊

2.建立清晰的類層次和邏輯思維能力

3.建立執行緒、類

4.編譯、鏈結、執行等基本知識

5.不斷除錯bug來鞏固所學

伺服器1、初始化套接字

2、開啟執行緒,使用死迴圈接收客戶端,建立客戶端recv執行緒接收資料;使用死迴圈接收訊息,根據不同訊息型別呼叫對用的處理函式( indexenum(enum)列舉)要和客戶端列舉對應,獲取型別 type == indexenum.login.value:

3、列表list1=儲存套接字

4、online={}字典儲存發過來套接字名字

編碼問題:

傳送時:要打包     pack(),打包前編碼encode('gbk')

接收時:解包  unpack(),解包前解碼decode('gbk')

客戶端1、初始化套接字即主要通訊的邏輯類:外部介面

2、登入的入口介面類

3、主要的聊天介面類:大部分訊息都是通過它來傳送的

匿名聊天無加密的

資料庫連線

搜尋好友

新增好友

一對一聊

註冊

群聊 加密

聊天室服務分析設計

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

Python簡單多人聊天室

伺服器端 auther kele 匯入socket包 import socket,threading 建立乙個socket物件 server socket.socket socket.af inet,socket.sock stream 獲取本地ip host socket.gethostname ...

Python之實現聊天室

from socket import import threading s1 socket af inet,sock dgram localhost 192.168.2.216 8077 otherhost 192.168.2.216 8088 s1.bind localhost defmain p...