下面是乙個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 實現 不發起三次握手 僅將服...