udp傳輸檔案的伺服器端

2021-07-14 13:41:15 字數 1066 閱讀 2735

#include

#include

#include

#include

#include

#pragma comment(lib,"ws2_32.lib")

#define max_buf 65536

using namespace std;

int main()

//建立套接字

socket s;

s=socket(af_inet,sock_dgram,0);

if(s==invalid_socket)

//定義乙個位址,並進行繫結

sockaddr_in sin;

sin.sin_family=af_inet;

sin.sin_port=htons(5000);

sin.sin_addr.s_un.s_addr=htonl(inaddr_any);

//繫結位址

int r=bind(s,(sockaddr*)&sin,sizeof(sin));

if(r==socket_error)

//接收快取區

char recvbuf[max_buf];

//初始化快取區

memset(recvbuf,0,max_buf);

//定義乙個位址結構

sockaddr_in addr;

int addrlen=sizeof(addr);

//輸入檔案的路徑

char path[100]=;

cout<<"請輸入檔案的路徑:(例如d:\\1.txt)">path;

//開啟檔案

file *fp;

fopen_s(&fp,path,"wb");

if(!fp)

else

while (true)

//接收成功

fwrite(recvbuf,1,1024,fp);

fclose(fp);

}closesocket(s);

wsacleanup();

return 0;

}

基於UDP的伺服器端和客戶端

前面的文章中我們給出了幾個tcp的例子,對於udp而言,只要能理解前面的內容,實現並非難事。udp不像tcp,無需在連線狀態下交換資料,因此基於udp的伺服器端和客戶端也無需經過連線過程。也就是說,不必呼叫 listen 和 accept 函式。udp中只有建立套接字的過程和資料交換的過程。tcp中...

6 1 基於UDP的伺服器端 客戶端

1.udp套接字原理 可靠性方面來說,tcp的確比udp好,但是udp的結構比tcp簡潔,不會傳送類似ack應答訊息,也不會有seq序號,效能有時比tcp高出很多。同時區分tcp和udp的重要標誌是流控制 tcp的生命在於流控制。圖中,ip的作用是讓離開主機b的udp資料報準確傳送到主機 但是最終交...

基於UDP的伺服器端和客戶端

前面的文章中我們給出了幾個 tcp 的例子,對於 udp 而言,只要能理解前面的內容,實現並非難事。udp 不像 tcp,無需在連線狀態下交換資料,因此基於 udp 的伺服器端和客戶端也無需經過連線過程。也就是說,不必呼叫 listen 和 accept 函式。udp 中只有建立套接字的過程和資料交...