udp
前面已經講過tcp網路通訊,然後tcp每次通訊都要進行三次握手連線,雖然傳輸的可靠性比較高,但對於一些及時性的資料的傳輸顯得太過費時,所以就有了udp這種無連線通訊,但資料容易出錯。
/* 伺服器端填充 sockaddr結構 */
bzero(&addr,sizeof
(struct
sockaddr_in));
addr.sin_family
=af_inet;
addr.sin_addr
.s_addr
=htonl(inaddr_any);
addr.sin_port
=htons(server_port);
/* **sockfd描述符 */
if(bind(sockfd,(
struct
sockaddr
*)&addr,
sizeof
(struct
sockaddr_in))<
0)
udps_respon(sockfd); // 進行讀寫操作
close(sockfd);
}
udpclient.c
[objc]view plain
copy
#include .h
>
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define server_port 8888
#define max_buf_size 1024
void
udpc_requ(
intsockfd,
const
struct
sockaddr_in
*addr,
intlen)
}
intmain(
intargc,
char
char
**argv)
/* 建立 sockfd描述符 */
sockfd=socket(af_inet,sock_dgram,0
);
if(sockfd<
0)
/* 填充服務端的資料 */
bzero(&addr,sizeof
(struct
sockaddr_in));
addr.sin_family
=af_inet;
addr.sin_port
=htons(server_port);
if(inet_aton(argv[
1],&addr
.sin_addr
)<
0)
/*inet_aton函式用於把字串型的ip位址轉化成網路2進製數字*/
udpc_requ(sockfd,&addr,sizeof
(struct
sockaddr_in));
// 進行讀寫操作
close(sockfd);
}
Linux 網路程式設計之UDP
1.介紹 udp協議是無連線的,不可靠傳輸的協議.伺服器與客戶端的互動不需要建立連線,沒有流量控制的功能。與tcp一樣,它也是傳輸層協議,通訊過程中需要ip位址與埠號。使用udp進行程式設計包括伺服器與客戶端,下面介紹一下伺服器與客戶端的通訊流程 伺服器流程 1 建立伺服器套接字描socket 2 ...
Linux網路程式設計之UDP
一 概述 udp 是 user datagram protocol 的簡稱,中文名是使用者資料報協議,是乙個簡單的面向資料報的運輸層協議,在網路中用於處理資料報,是一種無連線的協議。udp 不提供可靠性的傳輸,它只是把應用程式傳給 ip 層的資料報傳送出去,但是並不能保證它們能到達目的地。由於 ud...
Linux網路程式設計之UDP洪水攻擊
1.概述 udp攻擊向目標主機的udp埠傳送大量的udp報文,造成目標主機的埠堵塞,達到攻擊的目的。建立多執行緒,利用原始套接字封裝udp與ip的首部,然後傳送udp報文,攻擊目標主機.2.udp攻擊例項 include include include include include include...