6.3 Connected UDP & unconnected UDP

本文介绍了UDP数据传输的三个阶段,包括向套接字注册目标IP和端口、传输数据以及删除地址信息。强调了unconnected UDP如何在每次sendto调用中改变目标地址,适合向多个目标发送数据。同时,讨论了connected UDP套接字在长时间通信中的效率优势,它默认为unconnected状态,但在需要与同一主机持续通信时可提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在UDP中,使用sendto数据传输过程分三阶段:

a. 向UDP套接字注册目标IP和端口号;

b. 传输数据;

c. 删除UDP套接字中注册的目标地址信息。

2. unconnected UDP套接字:每次调用sendto重复1的三个步骤,每次都变更目标地址,因此可以重复利用同一UDP向不同目标传递数据。

注册了目标地址的UDP套接字是connected UDP,默认情况下是unconnected的。需要与同一主机进行长时间通信时,将套接字变成connected会提高效率。

3. connected套接字:

#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#include <unistd.h>  
#include <arpa/inet.h>  
#include <sys/socket.h>  
  
#define BUF_SIZE    30  
  
void error_handling(char *message);  
  
int main(int argc, char *argv[]){  
    int sock;  
    char message[BUF_SIZE];  
    int str_len;  
    socklen_t adr_sz;  
    struct so
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值