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

2021-08-09 17:26:10 字數 1296 閱讀 8599

1. 首先,定義需要的協議編號和資料資訊:

enum

;struct sdata

a.伺服器程式

clist m_list;
(2)新增兩個csocket類,用於偵聽和應答:

在clistensocket類中:

新增虛函式onaccept用於獲得客戶端的連線;

在cclientsocket類中:

新增虛函式onclose,用於檢查客戶端的斷開;

新增虛函式onreceive,用於接收客戶端命令並做出相應的反應:

void cclientsocket::onreceive(int nerrorcode)

csocket::onreceive(nerrorcode);

}//以下為自定義的函式

void cclientsocket::adddata(void)

void cclientsocket::browse(void)

}

(3)在主對話方塊中定義clistensocket的成員變數,並在初始化函式中建立埠並呼叫偵聽函式進行偵聽。

b.客戶端程式

(1)編輯客戶端介面;

(2)在主對話方塊類中新增csocket類的成員變數,並在初始化函式中建立埠並呼叫connect函式連線伺服器;

(3)為「新增」按鈕建立訊息響應函式,同時在初始化函式中新增onrefresh函式,用於每次登入後從伺服器處獲得資訊更新顯示列表:

void c客戶端dlg::onbnclickedadd()

; getdlgitemtext(idc_name,data

.sname,sizeof(data

.sname));

cstring str;

getdlgitemtext(idc_sala,str);

data

.fsala=(float)atof(str);//將string型轉化成float型資料

//傳送資訊

m_sock.send(&

data,sizeof(data));

//將新增的一條資訊發給伺服器後,更新列表

onrefresh();

}void c客戶端dlg::onrefresh()

}

執行效果:

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

首先建立專案名為 server 和 client 的兩個對話方塊程式,然後分別進行 編寫。1 建立兩個csocket的派生類 class clistensocket public csocket 負責偵聽 class cclientsocket public csocket 負責應答 cptrlis...

TCP通訊程式設計

tcp通訊程式設計 這裡主要包含客戶機和伺服器的程式設計。一 程式設計模型函式化 使用函式說明 socket的理解 伺服器 建立socket使用函式 socket 繫結位址使用函式 bind 監聽埠使用函式 listen 等待連續使用函式 accept 收發使用函式 recv send 結束連續 c...

網路程式設計 TCP通訊併發版C S

server端 package main import fmt net strings func main fmt.println 伺服器已啟動.defer listener.close 關閉socket 迴圈監聽客戶端連線請求 for go handleconnect conn func hand...