anonymous chat room
匿名聊天室
有client可以在此聊天室暢聊
每個ip都會自動生成一串數字,也就是說每個的id
無需註冊登入
伺服器能接受客戶端資訊,並把資訊**給其他客戶端
客戶端輸入指令獲得許可權
退出許可權模式
許可權功能比較容易寫,有時間再補充
#include
#include
#include
分別封裝了聊天室伺服器chat_server類,client類,user類
實現都分別在各自的cpp裡
基於winsocket的tcp匿名多人聊天室(控制台)
用本機ip測試過c/s能完成通訊
理論上換個有公網ip的windows伺服器就能跑我這破程式
本篇不介紹如何使用winsocket的api
綁好伺服器ip和port,啟動套接字,connect伺服器,另開乙個執行緒專門接受其他客戶端的發言(通過伺服器中轉),主線程在聊天室暢聊
//客戶端另開執行緒專門接受伺服器的**
thread recv_server_thread
(&client::from_server_recv_message,
this
);
綁好ip和port到socket,然後監聽有沒有客戶端連線,如果有連線,新開執行緒接待客戶端,乙個執行緒對應乙個客戶端
thread work_thread
(&chat_server::create_client_thread,
this
,client_socket)
;//分離執行緒,每乙個執行緒單獨對每乙個客戶端服務
work_thread.
detach()
;
定義乙個類函式
bool chat_server::
send_message_to_other_user
(socket speak_client,
char
* buffer)
speak_client發言客戶端套接字
buffer
發言資訊
定義乙個套接字vector容器,專門儲存每個客戶端的socket,遍歷陣列給個客戶端傳送訊息
if
(online_people >1)
}}}else
return
true
;//傳送成功
class
user
;
show_speak_time_and_id函式就是類似聊天軟體訊息的格式仿照
例:id *** 2020.1.1
本篇僅提供大概思路與與一些功能介紹,原始碼在github上
待續…
多執行緒聊天室的實現 C
使用mfc進行網路程式設計,實現多執行緒聊天室 1.mfc網路程式設計要包含庫檔案 include 可以在stdafx.h中包含此檔案 以下是主要 實現部分 1.首先編寫初始化套接字的函式 名稱 initstocket 功能 初始化套接字 bool cudpchatdlg initsocket so...
C Socket 同步 多執行緒 聊天室
多執行緒,沒有自己寫執行緒池,是使用系統執行緒池來管理的 demo寫的比較亂 server using system using system.collections.generic using system.text using system.net using system.net.socket...
Linux下c語言TCP多執行緒聊天室
開發環境 linux ubuntu 12.04 gcc 編譯 gcc server.c lpthread std gnu99 o s gcc client.c lpthread std gnu99 o c 執行服務端 執行2個客戶端 其中乙個客戶端傳送訊息 互相傳送 整體效果圖 客戶端傳送 quit...