使用mfc進行網路程式設計,實現多執行緒聊天室
1.mfc網路程式設計要包含庫檔案 #include ,可以在stdafx.h中包含此檔案
以下是主要**實現部分
1.首先編寫初始化套接字的函式
//名稱:initstocket//
//功能:初始化套接字//
///bool cudpchatdlg::initsocket()
sockaddr_in addrsock;
addrsock.sin_addr.s_un.s_addr=htonl(inaddr_any);
addrsock.sin_family=af_inet;
addrsock.sin_port=htons(6000);
int retval;
retval=bind(m_socket,(sockaddr*)&addrsock,sizeof(sockaddr));
if(socket_error==retval)
return true;
}2.在dlg類中的oninitdialog類中呼叫初始化函式,並建立多執行緒。在oninitdialog的return true之前加上如下**
initsocket();
recvparam *precvparam=new recvparam;
precvparam->hwnd=m_hwnd;
precvparam->sock=m_socket;
handle hthread=createthread(null,0,recvfun,(lpvoid)precvparam,0,null);//建立多執行緒
closehandle(hthread);
3.建立多執行緒時的執行緒函式是recvfun,所以現在應該實現這個函式,具體的**如下,格式不會寫的看前兩篇文章,或者自己查閱msdn的createthread也是可以的,具體**如下
///名稱:recvfun//
//功能:執行緒函式,接收聊天資訊並將資訊處理//
dword winapi cudpchatdlg::recvfun( lpvoid lpparameter)
return 0;
}4.訊息響應函式
///名稱:onrecvdata//
//功能:訊息響應函式,將聊天資訊顯示在編輯框裡//
lresult cudpchatdlg::onrecvdata(wparam wparam,lparam lparam)
6.實現傳送按鈕的功能
///名稱:onbnclickbtnsend()//
//功能:獲取ip位址,並傳送訊息//
void cudpchatdlg::onbnclickedbtnsend()
最後的執行結果如下圖所示。步驟可能不是太詳細,時間關係,請見諒
C 基於socket多執行緒實現網路聊天室
1.實現 2.聊天室服務端 tcp server chat.cpp include winsock2的標頭檔案 include pragma comment lib,ws2 32.lib using namespace std stdcall的執行緒處理函式 dword winapi threadf...
C Socket 同步 多執行緒 聊天室
多執行緒,沒有自己寫執行緒池,是使用系統執行緒池來管理的 demo寫的比較亂 server using system using system.collections.generic using system.text using system.net using system.net.socket...
python3實現多執行緒聊天室
使用python3建立多執行緒聊天室,供大家參考,具體內容如下 import threading i程式設計客棧mport socket socket udpsocket none 計數器 num 1 1.建立接受,傳送方法 def inmessage global num while true 等...