头歌:Ping服务端创建UDP套接字(底部附全关完整答案)

news/2024/5/18 16:09:08 标签: udp, 网络, 网络协议

头歌实践教学平台 (educoder.net)

Ping 的 服务程序中 创建一个使用 UDP 协议 套接字

数据包套接字类型


套接字三种类型:流式套接字(SOCK_STREAM)数据包套接字(SOCK_DGRAM)原始套接字(SOCK_RAW

数据包格式套接字(Datagram Sockets)也叫“无连接的套接字”,在代码中使用 SOCK_DGRAM 表示。

特征如下:

强调快速传输而非传输顺序;
传输的数据可能丢失也可能损毁;
限制每次传输的数据大小;
数据的发送和接收是同步的;

数据包套接字也使用 IP 协议作路由,但是它不使用 TCP 协议,而是使用 UDP 协议(User Datagram Protocol,用户数据报协议)

QQ 视频聊天和语音聊天主要使用 SOCK_DGRAM 来传输数据、SOCK_DGRAM 没有想象中的糟糕,不会频繁的丢失数据,数据错误只是小概率事件

为套接字绑定 IP 地址及端口


套接字 Socket 实质上提供了主机间进程通信的连接点

进程通信之前,双方首先必须各自创建一个连接点,否则是没有办法建立联系并相互通信的。

一个完整的 Socket 则用一个通信双方的相关描述:

{协议,本地地址,本地端口,远程地址,远程端口}

实际应用中,在创建一个 Socket 时先用一个半相关描述(另一半尚不确定):

{协议,本地地址,本地端口}

每一个 Socket 有一个本地的唯一端口号,由操作系统分配

Python 创建套接字函数


socket(socket_family,socket_type,protocal=0)

其中:

socket_family 一般为AF_INET

socket_type 可以是 SOCK_STREAMSOCK_DGRAM

protocol 一般不填,默认值为 0

如创建 TCP 套接字:

tcpSock = socket(AF_INET, SOCK_STREAM)

创建 UDP 套接字:

udpSock = socket(AF_INET, SOCK_DGRAM)

为套接字绑定主机


绑定指为套接字绑定地址包含主机及其端口

AF_INET下,以元组(host,port)的形式表示地址

host:用字符串表示的IP地址。表示本机,也可用回环地址127.0.0.1

port:端口号,数字表示

1024 以下为系统约定,自定义的用 1024 以上

编程要求


根据提示,在右侧编辑器代码的BeginEnd之间补充代码

创建一个数据包套接字,并绑定本机地址,端口号为 12000

完整答案


(11条消息) 头歌第1关:Ping服务端创建UDP套接字-网络基础文档类资源-CSDN文库

(11条消息) 头歌UDPPing程序实现-接收并转发消息-网络基础文档类资源-CSDN文库

(11条消息) 头歌UDPPing程序实现-服务端模拟丢包事件-网络基础文档类资源-CSDN文库

(11条消息) 头歌UDPPing程序实现-客户端创建UDP套接字-网络基础文档类资源-CSDN文库

(11条消息) 头歌UDPPing程序实现-客户端向服务器发送消息并接收消息.txt-网络基础文档类资源-CSDN文库


http://www.niftyadmin.cn/n/23938.html

相关文章

数组string

数组 目录:数组一维数组一维数组的定义和初始化一维数组数据元素的访问练习1 找小猪练习2 算平均值比较两个数组是否相等一维数组冒泡法排序一维数组操作一维数组查找元素**普通查找**:二分查找:二分查找 最小下标最大下标查找元素个数一维数…

南京晓庄Java期末知识点复习

南京晓庄Java期末知识点复习第一章 Java 语言概述第二章 Java 语法基础标识符基本数据类型**运算符****语句**数组和字符串命令行参数输入输出第三章 类五个基本概念类类的封装类的继承**抽象类**接口关键字常用的工具类第四章 Applet及其应用**Java程序的两种基本形式****Appl…

高级信息系统项目管理(高项 软考)论文范文——风险管理

2018年8月,我作为项目经理参与了某市某智慧园区的信息化平台开发和信息系统集成项目的建设。该项目投资600万元,建设工期为1年。本项目以信息化和智能化管理为目的,对园区内人员的出入、往来车辆的出入及停放、灯光照明的控制、水电能源的计量等共8个子项进行高效管理。通过…

南大通用数据库-Gbase-8a-学习-31-VC间镜像同步

一、环境 名称值cpuIntel Core™ i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2VC1192.168.142.10VC2192.168.142.11 二、库级镜像同步 用途:使不同VC间的两个数据库进行实时同步。 (1)不同VC下的需…

2003-2021年高铁列车信息

2003-2021年高铁列车信息 1、时间:2003-2021年 2、指标: 列车车次、出发站、出发站所属地级市、出发站所属省份、出发站类型、到达站、到达站所属地级市、到达站所属省份、到达站类型、车型、开车时间、到站时间、运行时间、里程 3、指标说明&#x…

万物皆可集成系列:低代码对接微信小程序

近年来,微信小程序的开发如火如荼,很多移动端应用为了更方便被大家所使用的,都步入了小程序的行列 那么对于低代码平台开发的移动端应用是否可以和小程序集成呢?这里我以微信小程序为例。为大家介绍如何在 首先,众所…

TS怎么调用JS封装的各种库?

TS怎么调用JS封装的各种库? 做一个ts调用js库的总结,避免以后有谁再像我一样的迷茫摸索,ts调用js代码的方法有两个: 1.推荐使用的方法:网上有很多JS的公用库可以把这些库拿到项目中,并且把库小改一下&…

react基础及组件编程

React笔记 React基础 简介 Angular、React、Vue 前端三大框架之一 数据驱动页面渐进式框架 facebook产品 react组成:react.development、react-dom.developer、babel 基础使用 虚拟DOM: 本质Object对象 虚拟DOM轻量化,真实DOM臃肿 虚拟DOM最…