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

网络编程2

  • day2
    • 一、UDP编程
      • 1.编程流程
      • 2.函数接口
      • 3.注意
        • (1)、对于TCP是先运行服务器,客户端才能运行。
        • (2)、对于UDP来说,服务器和客户端运行顺序没有先后,因为是无连接,所以服务器和客户端谁先开始,没有关系.
        • (3)、一个服务器可以同时连接多个客户端。想知道是哪个客户端登录,可以在服务器代码里面打印IP和端口号。
        • (4).UDP,客户端当使用send的时候,上面需要加connect,这个connect不是代表连接的作用,而是指定客户端即将要发送给谁数据。这样就不需要使用sendto而用send就可以。
        • (5)、在TCP里面,也可以使用recvfrom和sendto,使用的时候将后面的两个参数都写为NULL就OK。
    • 二、广播
      • 1.理论
        • (1).前面介绍的数据包发送方式只有一个接受方,称为单播 (2).如果同时发给局域网中的所有主机,称为广播 (3).只有用户数据报(使用UDP协议)套接字才能广播 (4).一般被设计成局域网搜索协议
      • 2.广播发送流程
        • (1).创建数据报套接字
        • (2).填充结构体信息(广播ip)
        • (3).允许发送广播数据 int opt = 1; setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,&opt,sizeof(opt));
        • (4).发送数据
        • (5).关闭
      • 3.广播接收流程
        • (1).创建数据报套接字
        • (2).填充结构体信息(广播IP)
        • (3).绑定
        • (4).接收
        • (5).关闭
      • 4.setsockopt
    • 三、组播
      • 1.理论
        • ●单播方式只能发给一个接收方。
        • ●广播方式发给所有的主机。过多的广播会大量占用网络带宽,造成广播风暴,影响正常的通信。
        • ●组播是一个人发送,加入到多播组的人接收数据。
        • ●多播方式既可以发给多个主机,又能避免象广播那样带来过多的负载(每台主机要到传输层才能判断广播包是否要处理)
      • 2.组播地址
        • 不分网络地址和主机地址,第1字节的前4位固定为1110 。是D类ip,224.0.0.1~~239.255.255.255。
        • 224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用。
        • 224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet。
        • 224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效。
        • 239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
      • 3.组播发送流程
        • (1).创建用户数据报套接字
        • (2).填充结构体(组播IP)
        • (3).发送
        • (4).关闭
      • 4.组播接收流程
        • (1).创建用户数据报套接字
        • (2).填充结构体(组播IP)
        • (3).绑定
        • (4).加入多播组
        • (5).等待接收数据
http://www.xdnf.cn/news/24157.html

相关文章:

  • 第八周作业
  • alertManager部署安装、告警规则配置详解及告警消息推送
  • 工厂方法模式详解及在自动驾驶场景代码示例(c++代码实现)
  • Linux根据 PID 进行性能分析
  • 三格电子——PROFIBUS DP设备长距离传输和干扰问题解决办法
  • ffprobe 输出 HEVC 码流 Level:标准的 “错位” 与分析的 “归位”
  • javaweb-servlet-继承关系以及service方法、servlet生命周期
  • LabelImg打标工具的下载和使用——YOLO格式篇
  • open CasCade下载
  • RVOS的任务调度优化
  • OJ笔试强训_1至24天
  • `peft`(Parameter-Efficient Fine-Tuning:高效微调)是什么
  • 接口测试的原则、用例与流程
  • Git学习之路(Updating)
  • 《软件设计师》复习笔记(11.3)——需求获取、分析、定义、验证、管理
  • 欧拉系统升级openssh 9.7p1
  • 【AI】实现中文文章摘要的AI模型
  • 【失败】Gnome将默认终端设置为 Kitty
  • 如何在Linux系统中部署C++ Web应用
  • Sa-Token使用指南
  • 1 Celery 简介
  • cpolar 内网穿透 实现公网可以访问本机
  • top100 (6-10)
  • 字符串循环拼接,不能用 + 连接, 需要用 StringBuilder 代替
  • 全球唯一电解方式除湿器 / 加湿器 RS1 ROSAHL 微型 易安装
  • Logisim数字逻辑实训——寄存器设计与应用
  • 稳态模型下的异步电机调速【运动控制系统】
  • 《软件设计师》复习笔记(13)——结构化开发方法
  • 2021-11-09 C++倍数11各位和为13
  • 哈电汽轮机携林重型燃机登陆2025涡轮展,5月苏州相见