Надо чтобы программа на компьютере посылала пакеты (по 600 байт) в Ethernet. В сети висит N устройств (N=1..50). Все эти устройства должны принимать эти пакеты и отвечать, если надо. Так вот, какой протокол лучше использовать для передачи данных "всем" (это кажется broadcast называется).
Это что - попытка написать новый сетевой протокол? Боюсь, мировые производители не поддержат... Так что для решения теоретических задач используй старый добрый TCP/IP
Нет Это попытка определить, какой из протоколов использовать А разве TCP/IP для соединения использует не линк с IP до IP? Разве можно им "вещать" не на конкретный IP, а "всем". Или использовать 255.255.255.255???
Протокол UDP. В отличие от TCP не требует установки соединения. Ориентирован на передачу пакетов в том числе broadcast. проще в реализации по сравнению с TCP, особенно в устройствах на микроконтроллерах. пример есть кажется на emb.hut.ru. pegas добавил [date]1073048250[/date]: P.s кстати TCP/IP-это два протокола
pegas Ну собственно UDP на самом деле тоже UDP/IP UDP и TCP рядом по иерархии. Кстати, спасибо за ссылку Во-во.. в микроконтроллер ее и пихаем luka Хочу книжку
firefly, Мэтью Ногл. Большими буквами TCP/IP написано и провода нарисованы. Название точно не помню, т.к. под рукой книги нет. Зелёная. Ещё Стивенса советуют книги (все!), но у меня возможности купить, хотя бы одну, не было. pegas, если я не ошибаюсь, то 600 октетов в одну датаграмму UDP не влезут.
Насколько я понимаю, там ещё ARP для трансляции в МАС адреса, и если всё на микроконтроллере, то есть проще протоколы, типа MODBUS+, PROFIBUS итд, специально спроектированы для простых сетей. То есть зачем вообще Ethernet?
T800 Представляеш себе трехэтажное здание с около 300 кабинетами? (ДПП) Практически все здание опутано локалкой. В каждом кабинете должно стоять устройство. Все устройства должны общаться с одним управляющим. Зачем городить новый огород, если и так уже среда передачи протянута. Поэтому и Ethernet. Даже опутать заново все RS485 будет значительно дороже. luka Необязательно же слать все сразу одним пакетом, можно разбить на несколько.
Ты про это не сказал Видел доку для web server под какой-то микроконтроллер, надо поискать, там хорошо всё расписано с http до физического уровня.
теоретически такое возможно, на практике почти наверняка влезет. максимальный размер пакета в виндовс можно узнать, вызвав GetSockOpt () с параметром SO_MAX_MSG_SIZE
luka RLE компрессию никто не отменял. В моем случае она будет работать оч. хорошо. В результате уходить будет от 3 до 100 байт.
luka , не совсем так.смотри например http://www.soslan.ru/tcp/tcp11.html. Попробовал на WinXP-нормально отправлялись и получались датаграммы до 2048 байт. больше размером отправляться отказались.