UDP套接字(网络)编程

本文介绍了UDP网络编程的基础,包括如何使用socket API进行通信。通过理解'IP地址+端口号'的标识方式,我们可以创建并使用UDP套接字进行数据传输。文中涉及的函数接口和地址格式为网络通信提供了必要的知识。
摘要由CSDN通过智能技术生成

简单的UDP网络编程

本文,我们将编写一个基于UDP实现的简单网络服务器与客户端。
一. UDP协议初识
        UDP协议又叫 用户数据报协议,是传输层的一种协议。根据该协议在进行数据传输时,两台主机之间不需要相互连接,直接根据对方的IP地址和端口号进行数据传送。所以不用花费时间去连接主机,因此根据该协议进行传输时,速度会相对TCP协议快一点;但同时数据传送错误的概率相对TCP协议会较高;而且基于UDP协议进行数据传输,传输的基本单位是数据报,即源主机一次发送了多少字节的数据,目的主机一次就应将该数据全部接收。
所以UDP协议的特点有:

    (1)传输层协议;
   (2)无连接;
   (3)不可靠传输;
   (4)面向数据报。

二. socket编程接口

        我们之前提到过,“IP地址+端口号”也就是socket可以唯一标识网络上某一主机的某一进程。所以我们要实现网络通信,我们要利用到socket。这里先介绍一些与socket有关的函数接口与结构。

1. sockaddr结构

        socket API即套接字接口是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4和IPv6及UNIX Domain Socket。然而,各种网络协议的地址格式并不相同,所以就有以下几种地址格式。

        这些结构体都可以用于储存套接字等的相关信息。其中,sockaddr结构是泛型接口,适用于各种套接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值