Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 05.08.2015, 18:27   #16
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Он спросил изначально 31.07.2015. Сегодня уже 05.08.2015, это 5 дней спустя он не решил задачу.
Я загуглил, и написал мелкий скрипт за ~5 минут, и решил его задачу, также показал как хэндлить кодом запросы тоже.

Если бы его шарп решал бы отлично поставленную задачу, или была бы инфа - то думаю за 5 дней нашлось бы решение.

В отличии от тебя, я дал решение задачи. Ты лишь оффтопнул.
Кхм... Вообще помог в вк действительно))).

Смысл был именно в том, чтобы не только написать приложение но и разобрать по полочкам сам процесс. 50% для дела 50% для самообразования.

И пять дней но не пять полных дней. В сущности только вчера сел за изучение.

А решение было простое. Для работы с файлами перевел StreamWriter в BinaryWriter. Не учел этот нюанс.

Всем спасибо).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (05.08.2015)
Старый 05.08.2015, 21:30   #17
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Шарп и его виртуальная машина тяжелее того же nginx..
написал moka и дал "решение" на node.js
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо h1dd3n за это полезное сообщение:
Кирпи4 (05.08.2015), Nerd (06.08.2015)
Старый 05.08.2015, 23:11   #18
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Расслабьтесь бэтмены).
(Offline)
 
Ответить с цитированием
Старый 06.08.2015, 03:16   #19
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от h1dd3n Посмотреть сообщение
написал moka и дал "решение" на node.js
V8 тяжелее CLR?

Зачем изобретать велосипеды с stream'ами, если можно использовать готовые решения?
В реальной ситуации, использование stream'ов ручками, оправдано лишь когда стандартные решения не имеют возможности застримить как нужно, по причине например: стримишь как прокси, или вообще стримишь не файлы, или что-то сложное. Но это идет с ценой.
Тот же например nginx, через который обычно раздают статичные файлы, занимается этим в разы эфективнее, и использует низкого уровня фичи платформы, чтобы иметь высшуют производительность.

По факту если тебе нужно тупо постримить статичные файлы, и ты это будешь "ручками" делать, то у тебя нормальное приложение загнется при даже 10% от нагрузки в отличии от того же nginx.
В продакшане в нормальных компаниях, за такое по рукам бьют.
(Offline)
 
Ответить с цитированием
Старый 06.08.2015, 09:57   #20
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Зачем изобретать велосипеды с stream'ами, если можно использовать готовые решения?
В реальной ситуации, использование stream'ов ручками, оправдано лишь когда стандартные решения не имеют возможности застримить как нужно, по причине например: стримишь как прокси, или вообще стримишь не файлы, или что-то сложное.
Ну... Например что бы изучить "велосипед" изнутри и понять как он работает, обычно для этого изобретают такие "велосипеды". Речь идёт вроде не про реальную ситуацию, а как раз таки про изучение.

Node.js - это круто, но зачем вызывать экскаватор, что бы вскопать небольшую клумбу, тем более если человек хочет сам поработать?
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (06.08.2015)
Старый 06.08.2015, 11:45   #21
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
V8 тяжелее CLR?

Зачем изобретать велосипеды с stream'ами, если можно использовать готовые решения?
В реальной ситуации, использование stream'ов ручками, оправдано лишь когда стандартные решения не имеют возможности застримить как нужно, по причине например: стримишь как прокси, или вообще стримишь не файлы, или что-то сложное. Но это идет с ценой.
Тот же например nginx, через который обычно раздают статичные файлы, занимается этим в разы эфективнее, и использует низкого уровня фичи платформы, чтобы иметь высшуют производительность.

По факту если тебе нужно тупо постримить статичные файлы, и ты это будешь "ручками" делать, то у тебя нормальное приложение загнется при даже 10% от нагрузки в отличии от того же nginx.
В продакшане в нормальных компаниях, за такое по рукам бьют.
Moka, ты в двух темах совершенно разный))). В одной надо избретать велосипеды, в другой не надо))).

Если бы я писал какой нибудь портал, то однозначно поставил бы nginx или апач. Но у меня задачи другие:
1. Юзаться будет только веб-морда. По той причине что html-страничка привычная и удобная вещь. И ее можно вообще в закладки добавить.
2. Разобраться в базовых приципах работы с сетью не будет лишним даже если я буду писать все на node.js. Верно? Пока на шарпе. Но пока и не принципиально.

Кроме того разбираться на практике с такими задачами довольно интересно. В частности я теперь имею более детальное представление о том как пишутся сервера, как устроен тот же nginx. И самое главное имею уже представление о том как можно делать и как нельзя. В инсте такому не научишься особо.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Gector за это полезное сообщение:
moka (06.08.2015), St_AnGer (06.08.2015)
Старый 06.08.2015, 13:46   #22
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

В инсте не научишься если сам не занимаешься этим - это ты верно подметил.
weekend project - лучший вариант учить новые вещички изобретая велосипеды обычно, с немного более конкретной задачей, будет и результат.

Например Mr_F_ писал geom.io, изучал много чего, webgl, javascript, php, mysql. Немного дольше чем weekend project, но много велосипеда и много опыта он получил.

Велосипеды на самом деле ок для образования, ну тогда в таком случае нужно быть открытым к любой технологии, а не тыкать мол "спросили на этом языке, а ты даешь на другом".
Язык - для нормального разраба, это вообще мизерный фактор. Хороший разраб пишет на многих языках, и не будет ему проблем взять ранее не известный (ну кроме совсем замудренных), или новую либу и решить поставленную задачку.
(Offline)
 
Ответить с цитированием
Старый 06.08.2015, 14:12   #23
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
weekend project ....
Вот оно как называется).

Сообщение от moka Посмотреть сообщение
Велосипеды на самом деле ок для образования, ну тогда в таком случае нужно быть открытым к любой технологии, а не тыкать мол "спросили на этом языке, а ты даешь на другом".
Язык - для нормального разраба, это вообще мизерный фактор. Хороший разраб пишет на многих языках, и не будет ему проблем взять ранее не известный (ну кроме совсем замудренных), или новую либу и решить поставленную задачку.
Не спорю. Открытым быть нужно. Но правда в данном случае я интересовался именно базовыми принципами передачи данных. Тред скорее не про http-сервер для решения какой-то задачи, а про то как он с взаимодействует с браузером в принципе.
(Offline)
 
Ответить с цитированием
Старый 06.08.2015, 15:08   #24
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Ну тогда ты уже примерно знаешь:

Броузер создает TCP соединение с сервером и шлет header (plain-text).
Далее сервер обрабатывает заголовок и исходя из того что в нем описано и что ожидает броузер делает решение. Ответом должен быть также заголовок со статусом и сразу после него возможно данные в сыром виде, длиной как указано в заголовке или если это octet-stream, то тупо stream данных до закрытия соединения.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (06.08.2015)
Старый 06.08.2015, 23:45   #25
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
V8 тяжелее CLR?

Зачем изобретать велосипеды с stream'ами, если можно использовать готовые решения?
В реальной ситуации, использование stream'ов ручками, оправдано лишь когда стандартные решения не имеют возможности застримить как нужно, по причине например: стримишь как прокси, или вообще стримишь не файлы, или что-то сложное. Но это идет с ценой.
Тот же например nginx, через который обычно раздают статичные файлы, занимается этим в разы эфективнее, и использует низкого уровня фичи платформы, чтобы иметь высшуют производительность.
Во-первых, да, я на 100% уверен что CPU-intensive код на C# будет работать быстрее на .net clr, чем js на v8 и что в общем случае у разработчика на C# больше возможностей рационального использования памяти и многоядерной архитектуры, чем у разработчика на js.
Во-вторых я на 100% уверен что сравнение "V8 vs CLR" не имеет никакого отношения к "производительность отдачи статики на node.js vs производительность отдачи статики на C#".
В-третьих я специально слово решение написал в кавычках, поскольку это не решение а какой-то пздц. Ты мало того что привел пример на node.js дак еще и в коде никак вообще не показал каким же все-таки образом файлы с диска на сервере появляются в браузере на клиенте. Ты тупо заюзал готовый фреймворк у которого есть функция "обработатьСтатическиеФайлы". Примерная аналогия:
XXX: У меня есть приложение на node.js, но я никак понять не могу как запаковать файл в zip архив и отправить на клиент ?
moka: вот код на C# (ASP.NET MVC):
public class HomeController : Controller
{
	[HttpGet]
	public ActionResult Index()
	{
		return ZippedFileResult("C:\\somefile.txt");
	}
}
Код намеренно утрирован, чтобы тебе было проще понять почему твой ответ не ок.

И что самое то интересное мой пост был вообще не о сравнении clr и v8 и не о сравнении node.js и C#. Ты написал что C#/clr тяжелее того же nginx (другими словами nginx справится лучше), но тут же даешь решение на node.js.
То есть тормозное (по сравнению с nginx) решение на C# - это плохо и неправильно, а тормозное (по сравнению с nginx) решение на node.js/express это вдруг внезапно збс и вообще нормально. Так?

Gector,
Как я понимаю ты руками принимаешь соединения и пишешь в response. Для понимания основ это хорошо, однако это может сильно сбить тебя с толку... Думаю ты в конце концов хочешь получить какие-нибудь практические знания/навыки, чтобы использовать их в работе. C# это не только язык для "старта", на C# написано огромное количество веб-приложений (преимущественно в enterprise секторе) и веб-сервисов. Если хочешь как-то дальше развиваться настоятельно рекомендую взять веб-фреймворк. Сможешь хотя бы познакомиться с общепринятыми подходами к разработке, подглядеть удачные решения и т.д. Предпочтительно ASP.NET MVC, но если он кажется монструозным, то можно и Nancy. Во фреймворках принято разделять ответственность приложения и http-сервера. То есть прослушиванием порта и обработкой сетевых соединений занимается http-сервер, запросами в базу и формированием html страницы занимается приложение. Тебе совсем не обязательно ставить апач или nginx (я бы даже сказал не рекомендуется использовать эти сервера для .net веб-приложений). У винды есть IIS. Он прекрасно работает в продакшене, а уж для "попробовать" его хватит тем более. Изучив хотя бы основы разработки с aspnet mvc уже можешь претендовать на юниора - поверь мне спрос на хотя бы что-то понимающих юниоров довольно большой.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо h1dd3n за это полезное сообщение:
Andvrok (10.08.2015), Gector (07.08.2015)
Старый 07.08.2015, 15:15   #26
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Взорвало?
Задача была поставлена, решение дано. А ты новеллу пишешь тут лол.
Я производительность js кода на v8 с c# на clr и не сравнивал, тебя уносит.
(Offline)
 
Ответить с цитированием
Старый 07.08.2015, 19:03   #27
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Взорвало?
Задача была поставлена, решение дано. А ты новеллу пишешь тут лол.
У тебя дислексия , да? Ты никак не можешь прочитать в моем посте почему твое решение не решение вовсе? Не надо повторять что ты дал решение, поскольку это не так. Прочитай мой ответ еще раз, для понимания.
Я производительность js кода на v8 с c# на clr и не сравнивал, тебя уносит.
Да у тебя неадекват головного мозга...
#8 moka: Шарп и его виртуальная машина тяжелее того же nginx..
#17 h1dd3n: написал moka и дал "решение" на node.js
#19 moka: V8 тяжелее CLR?
#25 h1dd3n: Во-первых, да, я на 100% уверен что CPU-intensive код на C# будет работать быстрее на .net clr, чем js на v8 и что в общем случае у разработчика на C# больше возможностей рационального использования памяти и многоядерной архитектуры, чем у разработчика на js.
Во-вторых я на 100% уверен что сравнение "V8 vs CLR" не имеет никакого отношения к "производительность отдачи статики на node.js vs производительность отдачи статики на C#".
......
И что самое то интересное мой пост был вообще не о сравнении clr и v8 и не о сравнении node.js и C#. Ты написал что C#/clr тяжелее того же nginx (другими словами nginx справится лучше), но тут же даешь решение на node.js.
То есть тормозное (по сравнению с nginx) решение на C# - это плохо и неправильно, а тормозное (по сравнению с nginx) решение на node.js/express это вдруг внезапно збс и вообще нормально. Так?

#26 moka: Я производительность js кода на v8 с c# на clr и не сравнивал, тебя уносит.

Специально выделил жирным интересные места, поскольку у тебя, очевидно, проблемы с чтением.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Andvrok (10.08.2015)
Старый 07.08.2015, 19:44   #28
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Проблемы с чтением. Ок.
Бугуртим дальше.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:18.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com