該項目将實作一個文字和檔案傳輸的用戶端和伺服器程式通信應用程式。它将傳輸和接收視訊檔案。
文本消息必須通過TCP與伺服器通信,而用戶端自己用UDP傳輸視訊檔案。
程式将支援一下功能:
使用者身份驗證
向伺服器釋出消息
編輯或删除消息、讀取消息
從伺服器發送消息
讀取活動使用者的資訊
上傳視訊檔案從一個使用者到另一個使用者
該項目将實作各種應用程式協定來實作以上功能。
伺服器将監聽指定為指令行參數的端口,并等待用戶端監聽連接配接。
用戶端程式将發起一個與伺服器的TCP連接配接。
在連接配接建立後,使用者将啟動身份驗證過程。用戶端将與使用者互動通過指令行界面。
身份驗證成功後,使用者可以執行一系列指令
最終登出
用戶端和伺服器都必須列印有意義的提示消息
Server: 使用一個類來儲存每個用戶端資訊,包括使用者名和IP位址的映射,并多線程開始接收每個用戶端的處理程式。
Client: 三個線程:主線程為擷取使用者輸入和發送到伺服器,和一個線程為接收伺服器響應,一個線程UDP傳輸檔案
Login: flag("Login") + username + password
MSG: flag("MSG") + message
EDT: flag("EDT") + msg_index + msg_time + new_msg
DLT: flag("DLT") + msg_index + msg_time
RDM: flag("RDM") + msg_time
ATU: flag("ATU")
OUT: flag("OUT")
UPD: flag("UDP") + username + filename
Server:<code>python server.py 端口号 最大密碼嘗試次數</code>
Client: <code>python client.py 伺服器IP 伺服器端口 用戶端UDP端口</code>

client 點選檢視代碼
Server 點選檢視代碼