Ты что хочешь-то в итоге? Обычно читают либо ReadLine'ом в цикле пока не вернет null либо ReadToEnd'ом.
А если читать по байтикам в буфер, то не нужен Peek. Просто читаешь в цикле и брейкаешь когда возвращается 0.
просто добавлю что вместо view можно в уме использовать слово representation, оно хорошо подходит. Данные представленные в каком-то виде – не важно в каком.
Флаттер супер простой и логичный. Я бэкенд разработчик, который с фронтом никогда не работал, разобрался во Флаттере быстро, потому что там не нужен зоопарк тулзов (ставишь флаттер и всё), очень приятно экспериментировать (спасибо hot reload), документация прекрасная с интерактивными примерами, и еще много других вещей, облегчающих обучение.
А уж если есть опыт в браузер-фронте, то наверное будет еще проще. Главное сразу прочитать статью Understanding constraints (в доках лежит), чтобы понять как флаттер делать layout виджетов. Потому что большинство вопросов на стэке именно про лэйаут.
Плюс я сейчас начал делать админку для своего приложения, решил использовать flutter for windows apps. Делаю десктопное приложение на флаттер и не надо ничего другого учить.
insighter, любопытно, можно пример? Возможно путаю, но вроде как `&` в качестве логического оператора действует как `&&`, но без short-circuit? Или это в каком-то другом языке. Никогда не видел чтобы `&` использовался не для побитовых операций.
это не код, а какой-то бред. Здесь тупость в каждой строчке. Создается новый ключ и тут же проверяется содержит ли его словарь? Это массив, то есть всегда будет false. Вместо `&&` используется `&`, вместо `is` – `==`. И это только одна строчка.
LiptonOlolo, дублиронные события – это известная "особенность" watcher'а. Погугли на англ, найдешь много подобных вопросов. Насколько я знаю нет простого способа это убрать.
Да вроде все правильно.
NET 6, как я понимаю?
Глянь в каком нэймспейсе живет класс Hub. Хз, может там разные хабы есть. Должен быть как сказано в ошибке Microsoft.AspNetCore.SignalR
catanfa, с чего вы это взяли? Глянул мельком, и там ничего не сказано про вебсокеты, но зато webrtc упомянут много раз. WebRTC использует udp. Насколько я помню, он может fallbackнуться на tcp, но это только если udp по какой-то причине не поддерживается. То же самое касается вебсокетов. Они могут быть использованы как fallback транспорт, не более того. Tcp тупо не подходит для стриминга по своему дизайну.
потому что в свойства можно логику потом засунуть если понадобится, валидацию например, и изменения никак не коснутся вызывающий код. Плюс свойства дают возможность сделать private set, что часто требуется. Сейчас еще init появился
мама мыла раму, можно, но зачем? Нужно в любом случае поднимать свой TURN сервер. TURN сервер также выполняет функции и STUN сервера, так что поднимите TURN и этого будет достаточно. Если просто использовать STUN сервер гугла, то, во-первых, да это будет нормально работать в 90% случаев (число взял наобум, тк как не располагаю точными данными), но 10% (да даже 5%) случаев "соединение не может быть установлено" - это слишком много, и по закону Мерфи всегда будет случаться в самый неподходящий момент. Во-вторых, вы получаете ситуацию где инфраструктура не находится под вашим контролем. STUN сервер гугла падает - ваши действия? Молиться что они быстро починят? Поэтому TURN нужен 100%.
Вроде нет. Но вам так и так придется подтягивать англ. Нужно будет кучу литературы про OpenGL, физику, архитектуру движка, и много чего еще проштудировать. Вся самая качественная инфа на англ.
вместо 6.0.0-превью попробовали другую стабильную версию пакетов? 5.0.4, например. Подобные ошибки обычно из-за несовместимости зависимостей. Если не получится, то попробуйте создать новый голый проект, добавьте минимальный код и проверьте работает или нет.
какая еще лицензия?
в чем проблема продолжать развиваться в пхп и в свободное время изучать другой язык для себя?
а насчет ваканский - до относительно недавнего времени шарп был привязан к винде, а сервера в основном линухи, отсюда и разница.
если выбирать второй язык сейчас - рекомендую шарп. Вся дотнет экосистема развивается семимильными шагами.
А если читать по байтикам в буфер, то не нужен Peek. Просто читаешь в цикле и брейкаешь когда возвращается 0.