linux网络编程——聊天室总结
生活随笔
收集整理的這篇文章主要介紹了
linux网络编程——聊天室总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說在前面
暑假留校的主要任務是學習linux下的c語言編程,之前寫了my_ls, my_shell這兩個可以說是練手的小項目,而最后的項目聊天室也是花了自己快兩周的時間,說實話第一次寫這種(對自己而言)大項目,最深刻的體會就是整體的架構很重要,很重要,很重要…
項目概述
Linux 環境下的簡易聊天室,采用C/S模型,實現多客戶端之間的穩定數據傳輸。
功能
a. 查看好友列表(不同顏色代表不同的狀態)
b. 添加好友
c. 刪除好友
d. 屏蔽好友
a. 查看所加群,查看群中成員
b. 創建群
c. 加群
d. 退群
e. 解散群
f. 設置管理員
g. 踢人
a. 私聊
b. 群聊
c. 查看聊天記錄
a. 離線消息
b. 離線文件
a. 面對同時大量的客戶端發送連接與數據時,服務器能正常處理
b. 客戶端的意外退出,不會導致服務器退出
c. 數據能夠正確接收和發送
相關技術
功能截圖
思路
服務端:
1. 創建套接字,綁定數據庫,創建epoll句柄,通過while循環檢測是否有請求到來,有請求到來時向線程池中添加任務
2. 創建3個鏈表,分別是儲存用戶信息,關系,以及聊天記錄
3. ctrl + c 退出,銷毀線程池,銷毀鏈表,關閉套接字,關閉epoll描述符,釋放資源
客戶端:創建套接字,登陸成功后開啟接收線程
注:客戶端收發數據一定要分開寫
完整代碼
chatroom
總結
以上是生活随笔為你收集整理的linux网络编程——聊天室总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android OpenCV(四十五):
- 下一篇: Linux下新增、启动、删除系统服务常用