vc 學習之15 多執行緒與聊天室程式的建立

2022-08-14 07:15:14 字數 1162 閱讀 6457

區別:程式和程序、執行緒(輕量級程序)的概念;

利用window庫函式建立乙個主線程和子執行緒的乙個輪流執行

#include #include dword winapi func1proc(lpvoid lpparameter);

int index=10;

void main()

3在cchatdlg類裡面新增成員變數和成員函式,並在oninitdialog()呼叫次初始化函式;

bool cchatdlg::initsocket()

sockaddr_in addrsock;

addrsock.sin_addr.s_un.s_addr=htonl(inaddr_any);

addrsock.sin_family=af_inet;

addrsock.sin_port=6000;

//bind到ip和埠上;

int retval;

retval=bind(m_socket,(sockaddr*)&addrsock,sizeof(sockaddr));

if (socket_error==retval)

return true;

}

3建立執行緒的函式,因為createthread函式只能傳入乙個引數,所以利用傳入結構體指標形式傳入2個引數;

定義結構體:

struct recvparm

;

初始化,並呼叫建立執行緒函式(cchatdlg::oninitdialog())

recvparm *precvparam=new recvparm;//定義乙個將要傳入到createthread裡面的引數

precvparam->sock=m_socket;//初始化socket

precvparam->hwdn=m_hwnd;//和視窗有關的都乙個乙個變數儲存視窗的控制代碼

handle hthread=createthread(null,0,recvproc,(lpvoid)precvparam,0,null);

closehandle(hthread);//關閉控制代碼,減少計數;

實現執行緒處理函式recvproc()定義為起乙個成員函式,注意此處為靜態函式,因為不是的話,會產生乙個引數傳遞錯誤;

此聊天視窗程式沒有調通;不知為什麼視窗不顯式輸入內容

C Socket 同步 多執行緒 聊天室

多執行緒,沒有自己寫執行緒池,是使用系統執行緒池來管理的 demo寫的比較亂 server using system using system.collections.generic using system.text using system.net using system.net.socket...

多執行緒聊天室的實現 C

使用mfc進行網路程式設計,實現多執行緒聊天室 1.mfc網路程式設計要包含庫檔案 include 可以在stdafx.h中包含此檔案 以下是主要 實現部分 1.首先編寫初始化套接字的函式 名稱 initstocket 功能 初始化套接字 bool cudpchatdlg initsocket so...

python3實現多執行緒聊天室

使用python3建立多執行緒聊天室,供大家參考,具體內容如下 import threading i程式設計客棧mport socket socket udpsocket none 計數器 num 1 1.建立接受,傳送方法 def inmessage global num while true 等...