当前位置: 首页 > article >正文

第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

文章目录

  • 第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

UDP 支持 IPv4IPv6 互联网协议。由于这些协议不兼容,服务器和客户端都必须使用相同的Internet协议,否则传输将失败。

IPv4 地址具有以下格式。 n0255 范围内的十进制整数:

n.n.n.n

可以将 IPv4 协议指定为"0.0.0.0" 。

IPv6 地址具有以下完整格式。 h是一个具有四个十六进制数字的十六进制数:

h:h:h:h:h:h:h:h

通常,IPv6 地址的缩写方式是消除前导零并用双冒号 (::) 替换连续的零部分; IPv6 地址中只能使用一个双冒号。通过使用 IPv4 缩写规则,可以将 IPv6 协议指定为“::” (意味着所有 8h部分的值为 0000)。

建立互联网协议:

  • 客户端必须在 %New() 方法中建立 IPv4IPv6。默认为 IPv4
  • 这必须与GetHostAddr()方法中指定并在Send()方法中提供(以二进制形式)的 IPv4IPv6 协议匹配。

以下是 IPv4 传输:

Server
 SET sobj=##class(%Net.UDP).%New(3001,"127.0.0.1")



  SET inmsg=sobj.Recv() 
Client
 SET cobj=##class(%Net.UDP).%New()   /* the default is IPv4 */
 SET bhost=##class(%Net.UDP).GetHostAddr("127.0.0.1")
 SET outmsg="this is the message to send"
 WRITE cobj.Send(outmsg,bhost,3001) 

以下是 IPv6 传输:

Server
 SET x=##class(%SYSTEM.INetInfo).IsIPV6Enabled()
 IF x=1 {
    SET sobj=##class(%Net.UDP).%New(3001,"::1")



  SET inmsg=sobj.Recv() }
  ELSE {WRITE "IPv6 not enabled" } 
Client
 SET cobj=##class(%Net.UDP).%New(0,"::")
 SET bhost=##class(%Net.UDP).GetHostAddr("::1")
 SET outmsg="this is the message to send"
 WRITE cobj.Send(outmsg,bhost,3001) 

处理主机地址的方法可在%SYSTEM.INetInfo类文档中找到。


http://www.kler.cn/a/414671.html

相关文章:

  • Spring Web MVC(详解中)
  • C语言——海龟作图(对之前所有内容复习)
  • 【Petri网导论学习笔记】Petri网导论入门学习(九) —— 3.1 可达标识图与可覆盖树
  • Qt中QGraphics绘图类相关解释
  • 笔记mfc11
  • TypeScript中的接口(Interface):定义对象结构的强类型方式
  • 【软考速通笔记】系统架构设计师⑦——系统架构设计基础知识
  • 亚马逊开发视频人工智能模型,The Information 报道
  • c++类模板成员函数的特化
  • 高防服务器HOT:网络安全的无形盾牌,护航业务稳定
  • Android 是否支持AB分区
  • PPT不能编辑,按钮都是灰色,怎么办?
  • 在 C/C++ 中,volatile 关键字的作用是什么?volatile 关键字与 const 关键字有什么区别?
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题解析
  • 【AI系统】SIMD SIMT 与芯片架构
  • 【Docker项目实战】使用Docker部署Enclosed文件分享工具
  • 如何解决DDoS导致服务器宕机?
  • 06_数据类型
  • 删除word中页眉里的横线
  • zabbix自定义监控项监控docker容器
  • 迭代器模式 (Iterator Pattern)
  • Vue 开发中为什么要使用穿透符::deep()
  • macOS 版本对应的 Xcode 版本,以及 Xcode 历史版本下载
  • 20241128解决Ubuntu20.04安装libwxgtk3.0-dev异常的问题
  • 工业智能网关如何高效、安全地实现车间数据的采集?
  • 人工智能技术的工程伦理问题 --以美团外卖大数据杀熟为例