讀書筆記 TCP IP網路程式設計 第7章 半關閉

2021-08-05 21:39:10 字數 1379 閱讀 1174

半關閉:斷開連線的一部分,可以傳輸資料但是無法接收,或可以接收資料但無法傳輸。

closesocket()函式會同時斷開輸入及輸出流。

sd_receive:斷開輸入流

sd_send:斷開輸出流

sd_both:同時斷開i/o流

shutdown()函式,關閉輸出流時,既傳送了eof,還保留了輸入流。

recv()函式在收到eof時,返回值為0。

伺服器端:

#include "stdafx.h"

#include

#include

#include

using

namespace::std;

#define buf_size 1024

void errorhanding(char * message);

void main()

send(hclntsock, (char*)&buf, buf_size, 0);//檔案大小大於buf_size

}//半關閉

shutdown(hclntsock, sd_send);

recv(hclntsock, (char*)buf, buf_size, 0);

printf("message from client : %s\n", buf);

//完全關閉

fclose(fp);

closesocket(hclntsock);

closesocket(hservsock);

wsacleanup();

return ;

}void errorhanding(char * message)

客戶端:

// tcpclient.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#include

#include

#include

using

namespace::std;

#define buf_size 1024

void errorhanding(char * message);

void main()

puts("received file data");

send(hsock, "thank you", 10, 0);

fclose(fp);

closesocket(hsock);

wsacleanup();

return;

}void errorhanding(char * message)

Linux網路程式設計讀書筆記 7

第九章高階套接字函式程式設計 9.1 傳送和接收函式的高階用法 標頭檔案 int send int sockfd,void buf,int len,int flags flags msg oob,msg dontwait,msg dontroute int recv int sockfd,void ...

TCP IP高效程式設計》讀書筆記

技巧6 tcp是一種流協議 tcp是乙個流協議,跟流水一樣,是沒有邊界的,也就是說如果b端第一次傳送100個位元組,第二次傳送200個位元組,當我們讀取的時候,是根據緩衝區的大小來看讀取結果的,如果我們緩衝區大於300,那麼將會把全部讀取出來,如果小於300,例如150,則會讀取第乙個和第二個的50...

網路協議讀書筆記TCP IP分層

網路協議讀書筆記tcp ip分層 1 雖然tcp使用不可靠的ip服務,但它卻提供一種可靠的傳輸層服務 2 udp為應用程式傳送和接受資料報,乙個資料報是從傳送方傳輸到接收方的乙個資訊單元 傳送方指定的一定位元組數的資訊 但是與tcp不同的,udp是不可靠的,它不能保證資料報能安全無誤的到達目的。3 ...