Linux IPv6 UDP套接字程式設計示例

2021-09-29 17:23:57 字數 1619 閱讀 1450

下面是乙個udp ipv6 demo, 包括建立ipv6套接字、繫結位址和傳送資料等。

首先先在linux上配置乙個本地站點位址,然後使用這個位址傳送。

//linux上新增ipv6位址命令

sudo ip

-6 addr add fd11::

100/

64 dev eth0

/*

* description : ipv6 udp套接字程式設計示例

* author : mason

* date : 201808

*/#include

#include

#include

#include

#include

#include

/* ipv6壓縮格式位址 */

static

char src =

"fd11::100";

static

char dst =

"fd11::200";

void

main

()

if ((inet_pton(af_inet6, (

char *)&dst[

0], &daddr.sin6_addr)) !=

1)addr_len =

sizeof(struct sockaddr_in6);

saddr.sin6_family = af_inet6;

saddr.sin6_port = htons(

30000);

daddr.sin6_family = af_inet6;

daddr.sin6_port = htons(

40000);

/* 建立ipv6套接字,ipv6使用af_inet6 */

udp6_socket = socket(af_inet6, sock_dgram,

0);if (udp6_socket ==

-1)/* 繫結位址 */

if (bind(udp6_socket, (struct sockaddr *)&saddr, addr_len))

/* 傳送 */

ret = sendto(udp6_socket, &buffer[

0],

sizeof(buffer),

0, (struct sockaddr *)&daddr, addr_len);

if (ret >

0)/* 關閉套接字 */

UDP套接字程式設計

與面向連線的協議相比,面向無連線協議極為不同。其中乙個重要的不同點就是客戶端與伺服器之間不必建立連線。對於udp套接字程式設計而言,伺服器建立套接字後,呼叫bind 函式將套接字與準備接收資料的介面繫結在一起。和tcp程式設計不同的是,應用程式不必呼叫listen 和accept 函式等待客戶端的連...

UDP套接字程式設計

udp是使用者資料報協議,與tcp協議一樣,在網路中處理資料報,是一種無連線的傳輸層協議,具有不可靠性,udp有不提供資料報分組 組裝和不能對資料報進行排序的缺點,也就是說,當報文傳送之後,是無法得知其是否安全完整到達的。基於udp的客戶端伺服器 伺服器 include include includ...

關於udp套接字

setsockopt so reuseaddr 同一終端先後兩次執行udp server,該選項無影響。兩個 或多個 終端同時執行udp server,配置該選項時,僅第乙個終端執行成功 不配置時,所有終端均可成功執行udp server。udp客戶端呼叫connect 實現 不發起三次握手 僅將服...