linux網路程式設計之UDP

2021-07-24 13:04:52 字數 2283 閱讀 5454

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...