MFC Socket網路程式設計 TCP IP

2021-08-21 16:01:51 字數 1817 閱讀 9604

為了更了解網路開發的流程,可以先通過掌握winsock再去掌握別的網路開發庫,掌握傳統的winsock可以對網路開發的架構有乙個清晰框架,初學者可以先從乙個入門的winsock程式開始:

【服務端**】

wsadata data;

word versions = makeword(2,0);

int iresult = wsastartup(versions,&data);//載入套接字動態鏈結庫版本

if (iresult != no_error)

//詳情看msdn

socket mainsock,transfersock;//定義兩個套接字,乙個繫結監聽,乙個收發資料

mainsock = socket(af_inet,sock_stream,0)//建立tcp套接字

if (m_socket == invalid_socket)//invalid_socket是建立套接字失敗時的返回值

//詳情可檢視sockaddr_in在msdn中的介紹//

sockaddr_in mainaddr,transferaddr;//定義兩個sockaddr_in結構變數

int n=sizeof(transferaddr);//獲取結構大小

mainaddr.sin_family= af_inet;//設定位址族

mainaddr.sin_port = htons(800);//設定埠號

mainaddr.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");

//設定ip位址 inet_addr將字元轉換為二進位制ip

int binerror = bind(mainsock,(sockaddr*)&mainaddr,sizeof(mainaddr));//繫結

if (binerror == socket_error)

listen(mainsock,10);//開始監聽

char str = "你好";//定義要傳送的字元

while (true)

}::closesocket(mainsock);//關閉套接字

::closesocket(transfersock);//關閉套接字

::wsacleanup();//釋放套接字型檔

【客戶端**】

wsadata data;

word dversions = makeword(2,0);

::wsastartup(dversions,&data);//定義套接字版本,初始化套接字

socket mainsock;//定義收發資料套接字

mainsock = ::socket(af_inet,sock_stream,0);//建立tcp套接字

sockaddr_in mainaddr;//定義收傳送資料位址

mainaddr.sin_family= af_inet;//設定位址族

mainaddr.sin_port = htons(800);//設定埠號

mainaddr.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");//設定ip位址

char str = "你好伺服器";

::connect(mainsock,(sockaddr*)&mainaddr,sizeof(mainaddr));//連線伺服器

::recv(mainsock,str,sizeof(str),0);//向伺服器傳送訊息

//::closesocket(mainsock);//關閉套接字

//::wsacleanup();//釋放套接字型檔

MFC socket網路程式設計示例

mfc socket網路程式設計 流程示例 伺服器端程式 1 載入套接字型檔 2 建立套接字 socket 3 將套接字繫結到乙個本地位址和埠上 bind 4 將套接字設為監聽模式,準備接收客戶請求 listen 5 等待客戶請求到來 當請求到來後,接受連線請求,返回乙個新的對應於此次連線的套接字 ...

MFC Socket程式設計

再此之際,記錄一下自己編寫socket的過程,實現wifi通訊。應用場景 外設系統作為ap模式下的伺服器。電腦端pc軟體作為ap模式下的客戶端。第一步 初始化socket bool csocketport initialize if lobyte wsadata.wversion 1 hibyte ...

MFC Socket網路程式設計之TCP伺服器端

tcp ip與osi7層參考模型的對應關係 osi的第12層也就是物理層 和資料鏈路層 對應於tcp ip的網路介面 osi的第3層網路層對應tcp ip的網路層 osi的傳輸層對應tcp ip的傳輸層 osi的567層也就是會話層,表示層,應用層 對應tcp ip的應用層 osi參考模型並不是真正...