MFC網路程式設計(二) 簡單TCP通訊

2021-08-09 15:50:16 字數 1638 閱讀 6837

首先建立專案名為「server」和「client」的兩個對話方塊程式,然後分別進行**編寫。

(1)建立兩個csocket的派生類:

class clistensocket:public csocket  //負責偵聽

class cclientsocket:public csocket //負責應答

cptrlist m_list;
(3)編寫兩個socket類中的用於通訊的虛函式:

a.clistensocket類:

#include

"sockc.h"

void csockl::onaccept(int nerrorcode)//用於截獲客戶端的連線

b.cclientsocket類:

void csockc::onreceive(int nerrorcode)//用於截獲客戶端發來的資料

csocket::onreceive(nerrorcode);

}void csockc::onclose(int nerrorcode)//用於處理客戶端斷開連線的情況

list.getnext(pos);

}//清理占用的堆空間

delete

this;

csocket::onclose(nerrorcode);

}

(4)在主對話方塊類中新增clistensocket類的成員變數,並在初始化函式中建立埠進行偵聽:

//在標頭檔案中新增變數

clistensocket m_sock;

//在初始化函式中建立、偵聽,這裡可以新增報錯提示

m_sock.create(8888);

m_sock.listen();

class

cconnectsocket:public

csocket

(3)新增虛函式onreceive,用於獲取伺服器發來的資料:

//獲取資料

char s[2048];

int nlen=receive(s,sizeof(s));

if(nlen<=0)

return;

//下面的**用於將截獲的訊息s顯示在介面中

...

(4)在主對話方塊中新增變數並修改初始化函式,新增傳送按鈕的訊息對映函式:

//在標頭檔案中新增變數

cconnectsocket m_sock;

//在初始化函式中實現連線伺服器

m_sock.create();

m_sock.connect("192.168.1.120",8888);//伺服器的ip和設定的埠號

//新增傳送按鈕的訊息響應函式

m_sock.send(sztext,sizeof(sztext));//sztext為訊息文字

先開啟伺服器,在開啟客戶端進行訊息輸入。

MFC網路程式設計(三) 一般TCP通訊

1.首先,定義需要的協議編號和資料資訊 enum struct sdata a.伺服器程式 clist m list 2 新增兩個csocket類,用於偵聽和應答 在clistensocket類中 新增虛函式onaccept用於獲得客戶端的連線 在cclientsocket類中 新增虛函式onclo...

linux網路通訊二(TCP)

tcp通訊 流程圖如下 1 建立 socket套接字 相同2 繫結 將建立的socket套接字返回的控制代碼與本機的ip 埠繫結 相同3 監聽 監聽socket include int listen int s,int backlog s 監聽的控制代碼 backlog 監聽的最大數,預設20 成功...

網路程式設計 筆記(二) 基於 Windows簡單通訊

windows套接字程式設計 1 設定庫alt f7 配置屬性 聯結器 輸入 附加依賴項 ws2 32.lib 2 標頭檔案 include 3 winsock的初始化 首先必須呼叫wsastartup函式,設定程式中用到的winsock版本,並初始化響應版本的庫。int wsastartup wo...