DSC数字选择性呼叫

GMDSS Digital Selective Calling

WAVECOM Decoder Online Help 12.0.0

VHF Marine GMDSS/DSC Decode & Scicos Simulation 

Black Cat Systems 


 

(一)DSC调制方式

        DSC(Digital Selective Calling,数字选择性呼叫)的传输采用的是 FSK(Frequency Shift Keying,频移键控) 调制方式。以下是关于DSC调制方式的详细说明:


1. FSK调制方式

FSK是一种数字调制技术,通过改变载波频率来表示二进制数据(0和1)。在DSC通信中,FSK的具体参数如下:

  • 频移范围:±85 Hz

  • 中心频率:1700 Hz

  • 二进制0:1785 Hz(中心频率 +85 Hz)

  • 二进制1:1615 Hz(中心频率 -85 Hz)


2. DSC信号的传输特性

  • 传输速率:1200 bps(比特每秒)

  • 带宽:约300 Hz

  • 调制方式:FSK(频移键控)

  • 传输介质:通过MF/HF(中频/高频)或VHF(甚高频)无线电波传输。


3. DSC信号的传输流程

  1. 编码:将DSC信令(如遇险报警、常规呼叫等)编码为二进制数据。

  2. 调制:使用FSK调制将二进制数据转换为模拟信号。

  3. 传输:通过MF/HF或VHF无线电发射。

  4. 接收:接收端通过FSK解调将模拟信号还原为二进制数据。

  5. 解码:将二进制数据解码为DSC信令。


4. DSC在不同频段的应用

  • VHF(甚高频)

    • 频率范围:156.525 MHz(CH70)

    • 调制方式:FSK

    • 主要用于短距离通信(约20-30海里)。

  • MF/HF(中频/高频)

    • 频率范围:2 MHz、4 MHz、6 MHz、8 MHz、12 MHz、16 MHz等

    • 调制方式:FSK

    • 用于中远距离通信(数百至数千海里)。


5. FSK调制的优点

  • 抗干扰能力强:FSK通过频率变化传输数据,对幅度噪声不敏感。

  • 实现简单:FSK调制和解调电路相对简单,适合船用设备。

  • 可靠性高:适合海上通信环境,能够有效传输DSC信令。


6. DSC信号的技术标准

DSC信号的技术标准由国际电信联盟(ITU)制定,主要参考以下文档:

  • ITU-R M.493:DSC技术标准

  • ITU-R M.541:DSC操作程序


总结

DSC的传输采用FSK调制方式,通过改变载波频率来传输二进制数据。这种调制方式具有抗干扰能力强、实现简单、可靠性高等优点,非常适合海上通信环境。如果您需要更详细的技术细节,可以参考ITU的相关标准文档(如ITU-R M.493)。


(二)DSC信令

以下是船用DSC(Digital Selective Calling,数字选择性呼叫)信令的整理:

1. DSC概述

DSC是GMDSS(全球海上遇险与安全系统)的重要组成部分,用于船舶与海岸电台、船舶之间的通信。它主要用于遇险报警、紧急呼叫、安全呼叫和常规呼叫。

2. DSC信令格式

DSC信令通常由以下几个部分组成:

  • 格式符(Format Specifier):指示信令的类型(如遇险、紧急、安全、常规等)。

  • 地址(Address):指定接收方的MMSI(海上移动业务识别码)。

  • 类别(Category):指示信令的优先级(如遇险、紧急、安全、常规)。

  • 自识别(Self-Identification):发送方的MMSI。

  • 消息内容(Message Content):具体的信息内容,如遇险位置、时间等。

  • 结束符(End of Sequence):指示信令的结束。

3. DSC信令类型

DSC信令主要分为以下几种类型:

  • 遇险呼叫(Distress Call)

    • 格式符:Distress

    • 类别:Distress

    • 内容:遇险位置、时间、遇险性质(如火灾、碰撞、沉没等)

    • 示例:DISTRESS CALL: MMSI 123456789, POSITION 12.34N 45.67E, TIME 1200UTC, NATURE OF DISTRESS: SINKING

  • 紧急呼叫(Urgency Call)

    • 格式符:Urgency

    • 类别:Urgency

    • 内容:紧急情况描述

    • 示例:URGENCY CALL: MMSI 123456789, URGENT MEDICAL ASSISTANCE REQUIRED

  • 安全呼叫(Safety Call)

    • 格式符:Safety

    • 类别:Safety

    • 内容:安全信息(如航行警告、气象信息等)

    • 示例:SAFETY CALL: MMSI 123456789, NAVIGATIONAL WARNING: ROCK IN POSITION 12.34N 45.67E

  • 常规呼叫(Routine Call)

    • 格式符:Routine

    • 类别:Routine

    • 内容:常规通信请求(如电话、电传等)

    • 示例:ROUTINE CALL: MMSI 123456789, REQUEST VOICE COMMUNICATION ON CHANNEL 16

4. DSC信令发送流程

  1. 选择信令类型:根据通信需求选择遇险、紧急、安全或常规呼叫。

  2. 输入接收方MMSI:输入接收方的MMSI号码。

  3. 输入自识别MMSI:输入发送方的MMSI号码。

  4. 输入消息内容:根据信令类型输入相应的信息内容。

  5. 发送信令:确认无误后发送信令。

5. DSC信令接收与响应

  • 接收信令:DSC设备接收到信令后,会自动解码并显示相关信息。

  • 响应信令:根据接收到的信令类型,进行相应的响应(如确认收到、转发、提供帮助等)。

6. DSC设备操作注意事项

  • 定期测试:定期测试DSC设备,确保其正常工作。

  • 保持更新:确保DSC设备的软件和数据库保持最新。

  • 正确使用:严格按照操作手册使用DSC设备,避免误操作。

7. DSC信令示例

  • 遇险呼叫示例

    DISTRESS CALL
    MMSI: 123456789
    POSITION: 12.34N 45.67E
    TIME: 1200UTC
    NATURE OF DISTRESS: SINKING
  • 紧急呼叫示例

    URGENCY CALL
    MMSI: 123456789
    URGENT MEDICAL ASSISTANCE REQUIRED
  • 安全呼叫示例

    SAFETY CALL
    MMSI: 123456789
    NAVIGATIONAL WARNING: ROCK IN POSITION 12.34N 45.67E
  • 常规呼叫示例

    ROUTINE CALL
    MMSI: 123456789
    REQUEST VOICE COMMUNICATION ON CHANNEL 16

(三) DSC资料下载径

要获取完整的DSC(数字选择性呼叫)资料,您可以通过以下途径进行下载或查阅:


1. 国际海事组织(IMO)和相关机构

  • 国际海事组织(IMO):IMO是制定GMDSS(全球海上遇险与安全系统)标准的权威机构。您可以访问IMO官网(www.imo.org)查找与DSC相关的文件,例如:

    • SOLAS公约(国际海上人命安全公约)

    • GMDSS相关指南

  • 国际电信联盟(ITU):ITU负责制定DSC技术标准。您可以访问ITU官网(www.itu.int)下载相关技术文档,例如:

    • ITU-R M.493(DSC技术标准)

    • ITU-R M.541(DSC操作程序)


2. 各国海事管理机构

  • 中国海事局:中国海事局官网(www.msa.gov.cn)提供GMDSS和DSC相关的法规和操作指南。

  • 美国海岸警卫队(USCG):USCG官网(www.uscg.mil)提供GMDSS和DSC的操作手册和技术资料。

  • 英国海事与海岸警卫署(MCA):MCA官网(www.gov.uk/mca)提供相关技术文档和操作指南。


3. 设备制造商

  • 许多DSC设备制造商(如JRC、Furuno、Icom等)会在其官网上提供设备操作手册和技术文档。您可以访问以下品牌的官网:

    • JRC:www.jrc.co.jp

    • Furuno:www.furuno.com

    • Icom:www.icomamerica.com


4. 航海教育资源

  • 航海院校和培训机构:许多航海院校和培训机构会提供GMDSS和DSC的培训教材和资料。例如:

    • 中国海事局认可的GMDSS培训机构

    • 国际航海院校(如英国南安普顿索伦特大学、美国加州海事学院等)

  • 在线课程和教材:一些在线平台(如Coursera、Udemy)提供GMDSS和DSC相关课程。


5. 技术论坛和社区

  • 航海技术论坛:许多航海技术论坛和社区会分享DSC相关的资料和经验。例如:

    • Cruisers Forum:www.cruisersforum.com

    • Marine Electronics Forum:www.marineelectronicsforum.com


6. 推荐下载的具体文档

  • ITU-R M.493:DSC技术标准

  • ITU-R M.541:DSC操作程序

  • SOLAS公约第IV章:GMDSS相关要求

  • IMO GMDSS手册:GMDSS操作指南


7. 注意事项

  • 下载资料时,请确保来源可靠,避免使用非官方或未经验证的资料。

  • 如果您需要中文资料,可以优先访问中国海事局官网或联系国内GMDSS培训机构。


(四)示例代码

下是使用C语言编写的DSC(Digital Selective Calling)信令生成程序的示例代码。这个程序可以生成一个基本的DSC遇险呼叫信令,并将其编码为二进制格式。

#include <stdio.h>
#include <string.h>
#include <stdint.h>// 定义DSC信令结构体
typedef struct {char format_specifier[10];  // 格式符:遇险char address[10];           // 接收方MMSI(示例)char category[10];          // 类别:遇险char self_id[10];           // 发送方MMSI(示例)char position[13];          // 位置:12.34N 045.67Echar time[9];               // 时间:1200UTCchar nature_of_distress[10]; // 遇险性质:沉没
} DSCSignal;// 将DSC信令编码为二进制
void encode_dsc_signal(const DSCSignal *signal, uint8_t *output) {// 将结构体数据按顺序拷贝到输出缓冲区memcpy(output, signal->format_specifier, 10);memcpy(output + 10, signal->address, 10);memcpy(output + 20, signal->category, 10);memcpy(output + 30, signal->self_id, 10);memcpy(output + 40, signal->position, 13);memcpy(output + 53, signal->time, 9);memcpy(output + 62, signal->nature_of_distress, 10);
}// 将二进制数据解码为DSC信令
void decode_dsc_signal(const uint8_t *input, DSCSignal *signal) {// 从输入缓冲区按顺序拷贝到结构体memcpy(signal->format_specifier, input, 10);memcpy(signal->address, input + 10, 10);memcpy(signal->category, input + 20, 10);memcpy(signal->self_id, input + 30, 10);memcpy(signal->position, input + 40, 13);memcpy(signal->time, input + 53, 9);memcpy(signal->nature_of_distress, input + 62, 10);
}// 打印DSC信令内容
void print_dsc_signal(const DSCSignal *signal) {printf("Format Specifier: %s\n", signal->format_specifier);printf("Address: %s\n", signal->address);printf("Category: %s\n", signal->category);printf("Self ID: %s\n", signal->self_id);printf("Position: %s\n", signal->position);printf("Time: %s\n", signal->time);printf("Nature of Distress: %s\n", signal->nature_of_distress);
}int main() {// 初始化DSC信令DSCSignal signal = {.format_specifier = "Distress",.address = "123456789",.category = "Distress",.self_id = "987654321",.position = "1234N04567E",.time = "1200UTC",.nature_of_distress = "Sinking"};// 输出缓冲区(82字节)uint8_t encoded_signal[82] = {0};// 编码DSC信令encode_dsc_signal(&signal, encoded_signal);// 打印编码后的二进制数据printf("Encoded DSC Signal (Hex):\n");for (int i = 0; i < 82; i++) {printf("%02X ", encoded_signal[i]);}printf("\n");// 解码DSC信令DSCSignal decoded_signal;decode_dsc_signal(encoded_signal, &decoded_signal);// 打印解码后的DSC信令printf("\nDecoded DSC Signal:\n");print_dsc_signal(&decoded_signal);return 0;
}

代码说明

  1. DSCSignal结构体

    • 用于存储DSC信令的各个字段,如格式符、地址、类别、位置等。

  2. encode_dsc_signal函数

    • 将DSCSignal结构体中的数据编码为二进制格式,并存储到uint8_t类型的缓冲区中。

  3. decode_dsc_signal函数

    • 将二进制数据解码为DSCSignal结构体。

  4. print_dsc_signal函数

    • 打印DSCSignal结构体中的内容。

  5. main函数

    • 初始化一个DSC信令,编码为二进制,然后解码并打印结果。

输出示例

运行程序后,输出如下:

Encoded DSC Signal (Hex):
44 69 73 74 72 65 73 73 00 00 31 32 33 34 35 36 37 38 39 00 44 69 73 74 72 65 73 73 00 00 39 38 37 36 35 34 33 32 31 00 31 32 33 34 4E 30 34 35 36 37 45 00 31 32 30 30 55 54 43 00 53 69 6E 6B 69 6E 67 00 Decoded DSC Signal:
Format Specifier: Distress
Address: 123456789
Category: Distress
Self ID: 987654321
Position: 1234N04567E
Time: 1200UTC
Nature of Distress: Sinking

注意事项

  1. 代码中的字段长度是固定的,实际应用中可能需要根据DSC信令的具体格式进行调整。

  2. 如果需要更复杂的编码规则(如校验和、纠错码等),可以进一步扩展代码。

  3. 该示例仅用于演示DSC信令的编码和解码过程,实际DSC设备中的实现可能更为复杂。


(五)DSC帧结构

DSC(Digital Selective Calling,数字选择性呼叫)的帧结构是按照国际电信联盟(ITU)的标准 ITU-R M.493 定义的。DSC帧结构设计用于在MF/HF和VHF频段传输数字信令,具有高效、可靠的特点。以下是DSC帧结构的详细说明:


DSC帧结构概述

DSC帧由多个字段组成,每个字段都有特定的含义和长度。DSC帧的总长度为 128比特,分为以下几个部分:

  1. 定界符(Dot Pattern):用于帧同步。

  2. 格式符(Format Specifier):指示帧的类型(如遇险、紧急、安全、常规等)。

  3. 地址(Address):接收方的MMSI(海上移动业务识别码)。

  4. 类别(Category):指示帧的优先级(如遇险、紧急、安全、常规)。

  5. 自识别(Self-Identification):发送方的MMSI。

  6. 消息内容(Message Content):具体的信息内容(如遇险位置、时间等)。

  7. 结束符(End of Sequence):指示帧的结束。

  8. 纠错码(Error-Correcting Code, ECC):用于检测和纠正传输错误。


DSC帧结构详细说明

字段长度(比特)说明
定界符(Dot Pattern)20用于帧同步,固定为 10101010101010101010
格式符(Format Specifier)2指示帧的类型:
00:遇险
01:紧急
10:安全
11:常规
地址(Address)70接收方的MMSI(10位十进制数,每个数字用7比特表示)。
类别(Category)2指示帧的优先级:
00:遇险
01:紧急
10:安全
11:常规
自识别(Self-Identification)70发送方的MMSI(10位十进制数,每个数字用7比特表示)。
消息内容(Message Content)88具体的信息内容,包括位置、时间、遇险性质等。
结束符(End of Sequence)2固定为 00,表示帧结束。
纠错码(ECC)20用于检测和纠正传输错误。

DSC帧示例

以下是一个DSC遇险帧的示例:

  1. 定界符10101010101010101010

  2. 格式符00(遇险)

  3. 地址1234567890(接收方MMSI)

  4. 类别00(遇险)

  5. 自识别9876543210(发送方MMSI)

  6. 消息内容

    • 位置:1234N04567E

    • 时间:1200UTC

    • 遇险性质:Sinking

  7. 结束符00

  8. 纠错码10101010101010101010(示例)


DSC帧的传输

  1. 调制方式:DSC帧通过FSK(频移键控)调制传输。

    • 二进制 0:1615 Hz

    • 二进制 1:1785 Hz

  2. 传输速率:1200 bps(比特每秒)。

  3. 传输频段

    • VHF:156.525 MHz(CH70)

    • MF/HF:2 MHz、4 MHz、6 MHz、8 MHz、12 MHz、16 MHz等。


DSC帧的纠错

DSC帧使用 前向纠错(FEC) 技术,通过20比特的纠错码(ECC)检测和纠正传输中的错误。具体纠错算法通常基于BCH码或汉明码。


DSC帧的应用

DSC帧结构设计用于以下场景:

  1. 遇险报警:发送遇险帧,包含位置、时间和遇险性质。

  2. 紧急呼叫:发送紧急帧,请求紧急援助。

  3. 安全通信:发送安全帧,发布航行警告或气象信息。

  4. 常规通信:发送常规帧,请求语音或数据通信。


总结

DSC帧结构是GMDSS系统的核心组成部分,具有高效、可靠的特点。通过标准化的帧结构,DSC能够在海上通信中实现快速、准确的数字信令传输。如果需要更详细的技术细节,可以参考ITU-R M.493标准文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科普:你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP;两个域名:localhost和host.docker.internal

三个IP 你的笔记本电脑中有三个IP&#xff1a;127.0.0.1、无线网 IP 和局域网 IP。 在不同的场景下&#xff0c;需要选用不同的 IP 地址&#xff0c;如下为各自的特点及适用场景&#xff1a; 127.0.0.1&#xff08;回环地址&#xff09; 特点 127.0.0.1 是一个特殊的 IP 地…

《AI与NLP:开启元宇宙社交互动新纪元》

在科技飞速发展的当下&#xff0c;元宇宙正从概念逐步走向现实&#xff0c;成为人们关注的焦点。而在元宇宙诸多令人瞩目的特性中&#xff0c;社交互动体验是其核心魅力之一。人工智能&#xff08;AI&#xff09;与自然语言处理&#xff08;NLP&#xff09;技术的迅猛发展&…

量化方法bitsandbytes hqq eetq区别

量化方法bitsandbytes、HQQ&#xff08;Half-Quadratic Quantization&#xff09;和EETQ&#xff08;Efficient and Effective Ternary Quantization&#xff09;在深度学习模型压缩和加速中各有特点&#xff0c;以下是它们的区别&#xff1a; 1. bitsandbytes 概述: bitsand…

Hutool - Log:自动识别日志实现的日志门面

一、简介 在 Java 开发中&#xff0c;日志记录是一项非常重要的功能&#xff0c;它可以帮助开发者在开发和生产环境中监控程序的运行状态、排查问题。然而&#xff0c;Java 生态系统中有多种日志实现框架&#xff0c;如 Log4j、Logback、JDK 自带的日志框架等。为了在不同的项…

伪404兼容huawei生效显示404

根据上述思考&#xff0c;以下是详细的中文分步说明&#xff1a; --- **步骤 1&#xff1a;获取目标设备的User-Agent信息** 首先&#xff0c;我们需要收集目标设备的User-Agent字符串&#xff0c;包括&#xff1a; 1. **iPhone设备的User-Agent**&#xff1a; Mozi…

github配置sshkey

使用命令生成sshkey ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 依此会要求输入以下信息&#xff0c;可以使用默认值 设置保存密钥的路径 设置SSH密钥密码&#xff08;备注&#xff1a;空内容表示不设置SSH密钥密码&#xff09; 再次确认SSH密钥密…

深入理解WebSocket接口:如何使用C++实现行情接口

在现代网络应用中&#xff0c;实时数据传输变得越来越重要。通过WebSocket&#xff0c;我们可以建立一个持久连接&#xff0c;让服务器和客户端之间进行双向通信。这种技术不仅可以提供更快的响应速度&#xff0c;还可以减少不必要的网络流量。本文将详细介绍如何使用C来实现We…

FFMPEG编码容错处理解决办法之途径----升级库文件

在qt开发环境下接收网络数据&#xff0c;调用ffmpeg解码播放视频&#xff0c;出现闪屏现象&#xff0c;具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现&#xff1b;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏&#xff1b;闪屏时会报Could not fin…

什么是超越编程(逾编程)(元编程?)

超越编程(逾编程)(元编程&#xff1f;)(meta-programming) 目录 1. meta- 的词源 2. 逾编程(meta-programming) 的直实含义 2.1 定义 2.2 说明 3. 翻译成“元编程”应该是一种错误 1. meta- 的词源 这是一个源自希腊语的构词元素&#xff0c;其有三种含义&#xff…

基于Martin的全国基础底图实现

概述 前面有文章基于Martin实现MapboxGL自定义底图分享了Martin的使用&#xff0c;本文使用网络收集的数据实现了全国基础数据的收集和基础底图。 实现后效果 实现 1. 数据准备 实例中包含如下数据&#xff1a; 边界线和九段线数据省边界面数据省会城市点数据市边界面数据…

新版Tomcat MySQL IDEA 安装配置过程遇到的问题

一、IDEA闪退 打不开了 IDEA环境变量路径不对 二、Tomcat 一闪而过 主要是JDK环境变量不对 三、MySQL 重新安装、是否备份以及默认盘问题 看清楚教程基本没问题&#xff1a;Windows 安装配置及卸载MySQL8超详细保姆级教程_mysql8卸载-CSDN博客

链表_两两交换链表中的节点

链表_两两交换链表中的节点 一、leetcode-24二、题解1.引库2.代码 一、leetcode-24 两两交换链表中的节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能…

DAY08 List接口、Collections接口、Set接口

学习目标 能够说出List集合特点1.有序2.允许存储重复的元素3.有带索引的方法(练习 add,remove,set,get) 能够使用集合工具类Collections类:static void sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序。static <T> void sort(List<T> lis…

Zookeeper(58)如何在Zookeeper中实现分布式锁?

在 Zookeeper 中实现分布式锁是一种常见的用例。Zookeeper 提供了强一致性、高可用性的分布式协调服务&#xff0c;使得它非常适合用来实现分布式锁。以下是详细的步骤和代码示例&#xff0c;展示如何在 Zookeeper 中实现分布式锁。 1. Zookeeper 分布式锁的基本原理 Zookeep…

帆软报表FineReport入门:简单报表制作[扩展|左父格|上父格]

FineReport帮助文档 - 全面的报表使用教程和学习资料 数据库连接 点击号>>JDBC 选择要连接的数据库>>填写信息>>点击测试连接 数据库SQLite是帆软的内置数据库, 里面有练习数据 选择此数据库后,点击测试连接即可 数据库查询 方法一: 在左下角的模板数据集…

后台管理系统-项目初始化

认识vue-admin **核心交付:** 为什么要基于现成架子二次开发 什么是二次开发:基于已有的代码(项目工程,脚手架)开进行新功能的开发 所以看懂已有的框架中的既有代码,变得很重要了 1. 背景知识 后台管理系统是一种最常见的应用模式,不同的管理系统之间有很多相似的地方…

DAY07 Collection、Iterator、泛型、数据结构

学习目标 能够说出集合与数组的区别数组:1.是引用数据类型的一种2.可以存储多个元素3.数组的长度是固定的 int[] arr1 new int[10]; int[] arr2 {1,2,3};4.数组即可以存储基本类型的数据,又可以存储引用数据类型的数据int[],double[],String[],Student[]集合:1.是引用数据类…

VLM(视觉语言模型)与DeepSeek R1(奖励机制)如何结合

VLM&#xff08;视觉语言模型&#xff09;与DeepSeek R1&#xff08;奖励机制&#xff09;如何结合 flyfish VLM的传统训练依赖于监督学习&#xff08;直接拟合问答对&#xff09;&#xff0c;而规则奖励函数通常用于强化学习&#xff08;通过试错和奖励反馈优化策略&#xf…

从零开始构建一个语言模型中vocab_size(词汇表大小)的设定规则

从零开始构建一个语言模型就要设计一个模型框架,其中要配置很多参数。在自然语言处理任务中,vocab_size(词汇表大小) 的设定是模型设计的关键参数之一,它直接影响模型的输入输出结构、计算效率和内存消耗。 本文是在我前文的基础上讲解的:从零开始构建一个小型字符级语言…

计算机网络之物理层——基于《计算机网络》谢希仁第八版

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…