tcp 程式設計一般的步驟:
server(服務端)
1.new 個 socket
2.bind (ip,port)
3.listen,等待客戶端的連線
4.accept 接受客戶端的連線
5.接收(recv) 傳送資料(send)
6.關閉連線
client(客戶端)
1.new 個 socket
2.bind(ip,port)
3.connect (server.ip,server,port)
4.recv() /send()
5.關閉連線
伺服器程式
#include #include #include #pragma comment(lib,"ws2_32.lib ")int main()
/* 設定ip位址 */
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_addr.s_addr = htonl(inaddr_any); //繫結本機ip
= inet_addr("192.168.1.53");
/* 設定埠 */
servaddr.sin_family = af_inet;
servaddr.sin_port = htons(3000); //埠為3000
/* 建立套接服務字 */
socket serversocket;
serversocket = socket(af_inet, sock_stream, 0);
if (serversocket == invalid_socket)
/* 繫結伺服器套接字 */
if (bind(serversocket, (sockaddr*)&servaddr, sizeof(sockaddr)) == socket_error)
/* 監聽埠 */
if (listen(serversocket, 20) == socket_error)
printf("linstening:%dport...\n", ntohs(servaddr.sin_port));
/* 阻塞方式等待accept */
int len = sizeof(cliaddr);
socket clientsocket;
clientsocket = accept(serversocket, (sockaddr*)&cliaddr, &len);
printf("connected:%s \r\n", inet_ntoa(cliaddr.sin_addr));
/* 接受訊息 */
char recvbuf[100] = ;
recv(clientsocket, recvbuf, sizeof(recvbuf), 0);
/* 傳送訊息 */
send(clientsocket, recvbuf, 100, null);
closesocket(clientsocket);
wsacleanup();
system("pause");
return 1;
}
客戶端**
#include "stdlib.h"#include #include #pragma comment(lib, "ws2_32.lib") //載入 ws2_32.dll
int main()
printf("成功連線到伺服器!\n");
char sendbuf[100] = ;
send(sock, sendbuf, 100, null);
char recvbuf[100] = ;
recv(sock, recvbuf, 100, 0);
closesocket(sock);
wsacleanup();
for (int i = 0; i < 12; i++)
system("pause");
return 1;
}
TCP協議詳解(三)
首先我們來回顧下我們以前了解過的,tcp頭部結構有6個標識位 以上就是我們講到以下內容的時候需要用到的知識點 開始介紹一下三次握手的過程 三次握手建立後,客戶端與伺服器開始傳送資料。三次握手示意圖 接下來,我們來介紹下四次握手關閉 四次握手示意圖 在tcp詳解 二 中,提到過,當客戶端收到伺服器的結...
詳解TCP協議(三)
五 流量控制 視窗大小不能無限大,傳輸速率太快,接收方可能處理不過來,根據接收方的處理能力來反向制衡傳送方的傳送速率 視窗大小 六 擁塞控制 和流量控制共同決定傳送方的視窗大小的 考慮網路傳輸路徑上的擁堵程度 動態變化的 七 延時應答 為了提高效率,在流量控制的基礎上,盡量返回乙個合理的但是又比較大...
網路協議之TCP
為了實現計算機的通訊,我們為計算機定義了一系列的通訊規則,這些規則就是協議.資料格式封裝 傳輸 將複雜的流程分解為幾個功能相對單一的子程序。osi是乙個理想的模型,因此一般網路系統只涉及其中的幾層,很少有系統能夠具有所有的7層,並完全遵循它的規定。在7層模型中,每一層都提供乙個特殊的網路功能。從網路...