目录
UDP
- TCP、UDP是经常成对听到通信协议,但许多常用协议如HTTP(HTTP3之前基于TCP,HTTP3基于QUIC基于UDP),SSH等都是基于TCP实现,原因其实很明显,就是TCP的可靠性。
- 最近在实现跨设备共享本地歌曲和控制的时候,发现了UDP的妙用。本文并不提供代码实现,只是聊聊这个技术概念,方便你做功能时技术选择。
单播、组播和广播
- 这三种通信方式是UDP的一大特色。TCP是全双工的一对一通信!我们在服务器上能监听一个端口后与多个客户端通信是Socket的功劳。也就是说,TCP是一对一通信,socket实现了一对多通信。
- 而UDP与TCP不同,它本身就支持一对一和一对多通信。
- 因而UDP分出了三种通信方式:
- 单播:一对一通信
- 广播:一对多通信。客户端监听一个固定的端口{port1},服务端只要向该网段的广播地址{addr1}和端口{port1}发送数据,该网段内所有监听这个端口{port1}的客户端都能收到信息。后面聊聊如何计算网段的广播地址。
- 组播(多播):一对多通信。客户端监听一个固定的端口{port1},并选择一个组播地址{addr1}加入。然后服务端向这个组播地址{addr1}和端口{prot1}发送数据,则所有加入这一组的客户端都能收到信息。相比手动循环给每一个客户端发送显然要快。
- 看起来广播和单播是两个极端,一个是一对一,一个是一对全部。而组播则是他们的取舍,能选择一组目标来发送数据。
- 但组播和广播仍然是有区别的,组播可以跨网段,而广播不行。
网段
- 我们得到分配的IP地址{ip}时,还会有一个子网掩码{mask},两者相与 {ip} & {mask} 即可得到网段,例如:
- IP地址 ip = 192.168.7.7
- 子网掩码 mask = 255.255.255.0
- {ip} & {mask} = 192.168.7.0
- 因此该路由分配下来的IP地址一般就是 192.168.7.x
- 注意子网掩码也可以是 255.255.0.0、255.255.240.0 等,看路由的设置
广播
- 实现广播的收发比较简单,客户端监听一个端口,服务端计算出目标客户端的网段的广播地址,然后向这个地址和端口发送数据即可。
- 注意服务端发送前需要启用广播(不同编程语言、不同库可能操作启用方式不同,请注意了解其使用方法 EnableBroadcast),然后发送的目标地址必须是广播地址(而且不能是 255.255.255.255,这个是受限地址),发送的目标端口必须是客户端监听的端口,因此客户端和服务器需要约定好通信端口。
- 关于广播地址的计算,比如:
- IP地址 ip = 192.168.7.7
- 子网掩码 mask = 255.255.255.0
- 网段 {ip} & {mask} = 192.168.7.0
- 将子网掩码转为二进制来看,11111111.11111111.11111111.00000000,按照其中0的位置,将网段的对应位置置为1,这里子网掩码为0的位置是最后8位,因此将网段转二进制后的最后8位置为1,再转回10进制即为 192.168.7.255
- 广播不能跨网段,比如:
- 客户端1:
- ip:192.168.7.7
- 子网掩码:255.255.255.0
- 网段 192.168.7.0
- 客户端2:
- ip:192.168.9.9
- 子网掩码:255.255.255.0
- 网段 192.168.9.0
- 你向 192.168.7.255 发送广播时,仅客户端1能收到信息
- 你向 192.168.9.255 发送广播时,仅客户端2能收到信息
- 你向 192.168.255.255 发送广播时,客户端1 和 客户端2 都不能收到信息!实践出真知,我试过!原本是以为用这个广播地址可以同时发给这两个客户端的,但实践结果是不行。
- 客户端1:
组播
- 客户端需要监听一个端口,并选择一个组播地址加入,而服务端需要向这个组播地址和端口发送数据即可。
- 组播地址是什么:
- 首先,IPv4地址是 4 * 8 = 32 个bit,4字节大小
- 它的地址被规定划分成如下分类:
- 其中,整个D类地址都被作为组播地址使用,而且组播地址还有细分:
- 如果只在局域网内使用,则取 239.0.0.0-239.255.255.255 中的任意一个都可以。
- 组播地址是自选的,客户端和服务器需要约定好选择的组播地址和端口,当发送端的目标地址和端口与客户端加入的组播地址和监听端口相同时才会收到信息。
技术选择
- 在局域网内网络没有广域网那么复杂,UDP表现挺不错的,另外TCP不支持组播和广播,而UDP支持,这在实现局域网内客户端互相发现、通信时相当有用,可以让客户端加入一个组,然后群发消息时发送组播即可。
- 由于每个客户端本身也有IP,可利用组播或广播互相发现对方,并在收到消息时提取发送方的IP,当需要一对一通信即可用这个IP直接通信。
- 但是我在实现时,运行在win11和安卓上的客户端通过热点WIFI连接,组播消息经常收不到,因此最后是使用广播实现的,如果实际使用请注意测试各种用户常用的网络环境。
参考资料
组播
- https://blog.csdn.net/weixin_41987016/article/details/132566896
Thanks for the valuable article. More at https://medium.com/@gulalexa/
Отечественный магазин НашаМебель предлагает широкий запас кухонь, кои помогут создать уют (а) также уют на вашем фамилии http://notahye4kuhnishki.ru/.
Local moving doesn’t have to be stressful! Check out local moving services sarasota for an awesome team in Sarasota
semaglutide cost: rybelsus cost – rybelsus pill
Быстрая схема покупки диплома старого образца: что важно знать?
https://ozempic.art/# ozempic online
Фабрика кухонных гарнитуров в Санкт-петербурге – этто ваш надежный партнер на образовании кашеварных интерьеров. Ты да я специализируемся сверху исследованию, производстве а также установке высококачественных кухонных гарнитуров, которые соединяют в течение себе язык, функциональность а также долговечность. Наша представительство – даровать посетителям отдельные вывода, основанные кот учётом ихний пожеланий да необходимостей, чтоб любая шакша остановилась уютным а также удобным местностью чтобы житья да творчества http://tivokya0kuhnishki.ru.
semaglutide tablets: semaglutide cost – rybelsus coupon
buy cheap ozempic ozempic buy ozempic pills online
buy ozempic pills online: ozempic – buy cheap ozempic
замена стекла замена лобового стекла цены
This is very insightful. Check out deposit pulsa tanpa potongan slot for more
https://rybelsus.shop/# semaglutide online
rybelsus price semaglutide cost semaglutide tablets
Продажа мини-погрузчиков Lonking
Продажа мини-погрузчиков Lonking на территории России от официального
дистрибьютора. Новая многофункциональная техника для любых задач.
Наши машины предназначены для того, чтобы упростить вашу работу:
от строительных площадок до складских операций.
Высокая эффективность, надежность и инновационные решения — все,
что вам нужно для успешных проектов. Погрузите свой бизнес в будущее
с мини-погрузчиками Lonking!
47% российских покупателей выбрали мини-погрузчики Lonking в 2023 году продано более 1200 единиц.
Мини-погрузчики Lonking
ozempic online [url=https://ozempic.art/#]ozempic coupon[/url] buy ozempic pills online
buy ozempic: ozempic generic – buy ozempic
ozempic online: buy ozempic – ozempic coupon
Can highly recommend checking out # # anyKeyWord ### if planning an upcoming move—it’s worth local moving company
rybelsus pill: buy rybelsus online – rybelsus pill
Wonderful tips! Find more at https://zacharyscott66.medium.com/
Профессиональный сервисный центр по ремонту сигвеев в Москве.
Мы предлагаем: ремонт сигвей в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
rybelsus price: buy semaglutide pills – buy semaglutide pills
buy semaglutide online semaglutide online rybelsus coupon
buy semaglutide online: rybelsus pill – buy rybelsus online
https://rybelsus.shop/# cheapest rybelsus pills
https://rybelsus.shop/# semaglutide cost
Профессиональный сервисный центр по ремонту автомагнитол в Москве.
Мы предлагаем: отремонтировать автомагнитолу
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Выше этношоп НашаМебель делает отличное предложение широченный гарнитур кухонь, что посодействуют сделать устроенность и уют в течение вашем берлоге http://www.notahye4kuhnishki.ru/.
ремонт сколов автостекла лобового стекла ремонт автостекол в спб
Профессиональный сервисный центр по ремонту сетевых хранилищ в Москве.
Мы предлагаем: ремонт сетевого хранилища
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
cheapest rybelsus pills: buy rybelsus online – rybelsus cost
Slot gacor di cek selengkapnya sudah terbukti memberikan kepuasan bagi banyak pemain
Зайдите на страницу https://xn--80aazigidfggdmg2a.xn--p1ai/ekstrudirovannyy-penopolistirol-xps/penopleks/ и вы сможете купить экструдированный пенополистирол Пеноплэкс в Екатеринбурге. Зайдите в каталог – узнайте Пеноплекс цена за лист, а она лучшая на рынке. Пеноплекс купить в Екатеринбурге в полном ассортименте не составит труда: заберите самовывозом (наши сотрудники загрузят все товары к вам в машину ) или оформите заказ на сайте с доставкой.
buy ozempic: ozempic – ozempic generic
[url=https://casino-gates-of-olympus.ru]www.casino-gates-of-olympus.ru[/url]
last news about casino gates-of-olympus
casino-gates-of-olympus.ru
buy ozempic: buy ozempic pills online – ozempic generic
Manga comics have motivated me to explore Japanese subculture additional and be told extra approximately their prosperous storytelling traditions review truyện tranh hay nhất
Seriously impressed with how well-organized the team at local moving company sarasota # was throughout my entire move
cheapest rybelsus pills: rybelsus coupon – rybelsus coupon
Если вы хотите выразить индивидуальность своему автомобилю и обновить внешний вид, то на сайте baikalwheels.ru у вас есть возможность [url=https://baikalwheels.ru/catalog?d=17&pcd=5×1143]литые диски r17 5x 114.3[/url] популярных мировых брендов. В каталоге представлены такие марки, как Replika, Nitro, Legeartis и K&K, которые имеют отличную репутацию. Размеры варьируются от 16 до 22 дюймов, что дает возможность выбрать идеальные диски для любых автомобилей — от седанов до внедорожников.
Baikal-Wheels предлагает широкий набор вариантов, отличающихся высоким качеством. Литые диски прошли жесткий контроль на долговечность и готовы к эксплуатации в любых условиях. Для удобства на сайте предусмотрен фильтр по маркам автомобилей, что упрощает поиск дисков. Сервис организует доставку по всей России, включая самые труднодоступные регионы, что обеспечивает удобство.
Кроме литых дисков, компания также предлагает высококачественные кованые диски на заказ и [url=https://baikalwheels.ru/catalog?d=19]литые диски r19[/url] которые отличаются прочностью и легкостью, улучшающей динамические характеристики автомобиля. Приобретая продукцию в компании Baikal-Wheels, вы получаете не только проверенные изделия от лучших производителей, но и превосходное обслуживание с удобной доставкой прямо к двери.
rybelsus coupon: rybelsus price – semaglutide tablets
Познакомьтесь один-другой нашим профессиональным коллективом, яже создаёт чудесную мебель, воплощая ваши грезы в течение реальность https://cehitae2kuhnishki.ru/.
This was very enlightening. For more, visit Click for more
rybelsus cost: semaglutide tablets – rybelsus price
ozempic coupon ozempic cost Ozempic without insurance
buy cheap ozempic: ozempic cost – ozempic generic
Наша юкос «Фотосайт числом мебели для кухни» увлекается созданием и еще реализацией качественной кашеварной мебели. Пишущий эти строки делаем отличное предложение широченный номенклатура продукта, яже откликается наиболее современным стандартам равным образом тенденциям дизайна https://sufebey8kuhnishki.ru.
Great insights! Find more at https://rachelebollin.medium.com/
Профессиональный сервисный центр по ремонту сигвеев в Москве.
Мы предлагаем: мастер по ремонту сигвеев
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!