!!以下演示的是乙個使用tcp協議的客戶端和伺服器端實現(即流式套接字),客戶端請求連線,伺服器端回送給客戶端一句話;
1. 伺服器端:
#include #include #include #pragma comment(lib, "ws2_32.lib") // 如果沒有ws2_32.dll則顯示鏈結靜態庫!!
int main()
// 關閉套接字資源
closesocket(slocal);
closesocket(sclient);
// 釋放winsock庫
wsacleanup();
if (getchar()) return 0;
return 0;
}
2. 客戶端:
#include #include #include #pragma comment(lib, "ws2_32.lib")
int main() ; // 用於接受伺服器端回送的訊息
wsadata data;
word wversionrequested = makeword(2, 0);
wsastartup(wversionrequested, &data);
// 指定目標伺服器端的位址並建立乙個空的套接字,之後用於繫結改位址
socket sserver;
sserver = socket(af_inet, sock_stream, 0);
sockaddr_in addrserver;
addrserver.sin_family = af_inet;
addrserver.sin_port = htons(75);
addrserver.sin_addr.s_un.s_addr = inet_addr("127.0.0.1"); // 本地測試使用本地回環位址
printf("client is setup and now trying to connect server...\n"); // 表示客戶端已準備好,正要請求連線
// 請求連線的同時繫結套接字
connect(sserver, (sockaddr*)&addrserver, sizeof(addrserver));
// 接受客戶端的回送訊息並列印
recv(sserver, szrecive, sizeof(szrecive), 0);
printf(szrecive);
closesocket(sserver);
wsacleanup();
if (getchar()) return 0;
return 0;
}
!除錯的時候先執行伺服器端程式,然後再開啟客戶端程式就能建立連線並應答;
1) 一般是指127.x.x.x型別的位址;
2) 其不屬於任何乙個有類別的位址(a類、b類等);
3) 它代表本地虛擬介面,可以不裝網絡卡也能ping通,永遠不會宕掉,因此可以用來檢查本機網路協議以及網路介面是否正常;
4) 但是其最大作用就是測試網路通訊軟體,因為測試通常要求伺服器和客戶端都在一台計算機上,因此可以用本地回環位址表示伺服器位址;
5) 一般各個不同作業系統指定了不同的本地回環位址,最常見的就是127.0.0.1了,不同平台可能會有所不同,但不過必定屬於127.x.x.x段位的;
MFC UDP通訊的簡單實現
1.udp和tcp最大的區別 1 tcp最大的特點就是面向連線 安全可靠,也就是說tcp通訊必須要先建立連線,並且通訊過程需要時時校驗,如果資料有誤需要重發 2 udp最大的特點就是面向無連線,不可靠,也就是說不用建立連線就直接向目標傳送資訊,並且通訊過程中不做任何校驗,如果資料丟失或者有誤也不管 ...
UDP通訊的簡單實現(程式)
資訊處理介面,定義了資訊的關閉,傳送,和接收 public inte ce messageaction udp類實現了messageaction封裝了下面的資訊,並提供了相應的get和set方法private int sendport 要傳送資料的埠號埠號 private int localport...
通訊錄的簡單實現!!!
1.因為程式 較多,為了避免程式過於繁雜,將程式分成了兩個.c檔案 contact.c 和 test.c 和乙個contact h檔案。2.cantact.h檔案內容主要包括函式名和結構體的定義。3.contact.c檔案主要用於定義函式的實現,而test.c則主要起到測試的作用1.contact ...