2020/03/09 基于UDP的自定义协议 调试笔记

本文详细探讨了在UDP协议下如何使用connect函数指定目标地址,指出在UDP中connect并非建立连接,而是用于设定发送目标。通过示例说明了使用connect后,发送和接收操作的变化,以及在调试过程中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

1. UDP的发送、接收函数

 UDP是一个无连接的协议,不需要像TCP协议一样的accept()等建立连接的操作

但UDP也可以使用connect(),用于指定目标地址,用法如下:

connect(sockfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr));

使用UDP协议的基本方法

想要获取发送端地址,采用recv()、recvfrom()函数:从sockfd中获取发送方的地址和消息

recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr*)&clientaddr, &len)

想要指定目标地址,采用sendto()、recvfrom()函数:通过sockfd指定目标地址,并发送消息过去

sendto(sockfd, ptr, size, 0, (struct sockaddr*)&clientaddr, len)

我们自定义的收发函数write_msg、read_msg是基于连接的!!所以用不了啊。。

尝试用connect指定目标地址 ~ 

一开始不太懂connect函数的具体用法ÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值