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

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

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

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

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

Привет, булка! Делаю небольшое приложение с веб-мордой. Логика простая. У приложения есть небольшой самописный http-сервер, который получает из браузера запрос, и отправляет ответ в виде html-странички. Но есть вопрос: Как отправлять картинки, для оформления страницы в этом случае?
(Offline)
 
Ответить с цитированием
Старый 31.07.2015, 17:44   #2
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Все картинки отправляются по отдельным запросам. Браузер принял HTML, посмотрел все сторонние ресурсы (js, css, картинки и т.п.) и по указанным ссылкам пустил отдельные запросы. Можно картинки хранить вообще на другом сайте...
Ну а сама передача картинки сервером - http-заголовки и за ним байт-код картинки в исходном виде (или как там это правильно называется, хз).
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (31.07.2015)
Старый 31.07.2015, 17:52   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Этим лучше пусть занимается web сервер, nginx или apache, сделай статик чек, например у nginx есть try_files - очень удобная штука.
Если файл не найден, тогда далее пытается уже файл скрипта исполнять.
(Offline)
 
Ответить с цитированием
Старый 31.07.2015, 20:25   #4
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Этим лучше пусть занимается web сервер, nginx или apache, сделай статик чек, например у nginx есть try_files - очень удобная штука.
Если файл не найден, тогда далее пытается уже файл скрипта исполнять.
Не). Ты не так понял. Есть относительно мелкое приложение, для которого интерфейс сделан через браузер. Поднимать полноценный сервак для маленького приложения - не целесообразно.
(Offline)
 
Ответить с цитированием
Старый 31.07.2015, 20:41   #5
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от DStalk Посмотреть сообщение
Все картинки отправляются по отдельным запросам. Браузер принял HTML, посмотрел все сторонние ресурсы (js, css, картинки и т.п.) и по указанным ссылкам пустил отдельные запросы. Можно картинки хранить вообще на другом сайте...
Ну а сама передача картинки сервером - http-заголовки и за ним байт-код картинки в исходном виде (или как там это правильно называется, хз).
Спасибо!) Я как раз пытался сделать так. Просто кое-где налажал и от этого запрос на картинку не приходил, вот и подумал что я не правильно понял).
(Offline)
 
Ответить с цитированием
Старый 01.08.2015, 23:01   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

"поднимать сервер"?
yum install nginx - сервер поднят.
nodejs статик сервер пишется за 15 минут и без веб сервера тоже.
(Offline)
 
Ответить с цитированием
Старый 02.08.2015, 11:37   #7
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
"поднимать сервер"?
yum install nginx - сервер поднят.
nodejs статик сервер пишется за 15 минут и без веб сервера тоже.
Интересно же и самому поковыряться). Кроме того на шарпе подобные вещи тоже можно написать за 15 минут, просто надо знать как.
(Offline)
 
Ответить с цитированием
Старый 02.08.2015, 22:41   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Шарп и его виртуальная машина тяжелее того же nginx..
(Offline)
 
Ответить с цитированием
Старый 03.08.2015, 11:03   #9
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Шарп и его виртуальная машина тяжелее того же nginx..
Да я понимаю). Но это для изучения языка.
(Offline)
 
Ответить с цитированием
Старый 03.08.2015, 14:34   #10
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Http-Сервер (Отправка файла)

Если хочешь делать грамотно, не забывай про MIME и сжатие (gzip, deflate, sdch).
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (03.08.2015)
Старый 05.08.2015, 10:45   #11
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Http-Сервер (Отправка файла)

Эммм... Извиняюсь за тупняк, но я просто не совсем понял из примеров как переслать изображение. Как я понял разницы между пересылкой изображения и файла не много (разница только в значении MIME). Но как передать сам файл, я не совсем понимаю. В туторах говорят, что надо пересылать raw data. Но как записать его в ответ сервера? В смысле подготавливать к передаче.
(Offline)
 
Ответить с цитированием
Старый 05.08.2015, 12:21   #12
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

Вот тебе код, который сервит любые данные из директории public в корню директории с app.js файлом.
Поставь nodejs и npm, создай папку, затем cd в эту папку и поставь express молуль: npm install express
Затем создай app.js в этой папке с таким содержимым:

var http = require('http');
var 
express = require('express');

// catch exceptions and ignore them
// it is actually is a bad practice
process.on('uncaughtException', function(err) {
    
console.log(err);
});

var 
app express();

// bind static folder
app.use(express.static(__dirname '\public'));

// bind normal get /test request and response with test json
app.get('/test', function(reqresnext) {
    
res.json({ hello'world' });
});

// listen on port
var port 10001;
app.listen(port, function() { 
    
console.log('listening on port ' port);
}); 
Запускается так:
node app.js 
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Gector (05.08.2015)
Старый 05.08.2015, 14:59   #13
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Http-Сервер (Отправка файла)

Сообщение от moka Посмотреть сообщение
Вот тебе код, который сервит любые данные из директории public в корню директории с app.js файлом.
Поставь nodejs и npm, создай папку, затем cd в эту папку и поставь express молуль: npm install express
Затем создай app.js в этой папке с таким содержимым
А ничего, что человек спрашивал про шарп, а ты лезешь со своим нодом?
__________________


(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Кирпи4 за это полезное сообщение:
Andvrok (10.08.2015), h1dd3n (05.08.2015)
Старый 05.08.2015, 15:58   #14
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Http-Сервер (Отправка файла)

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

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

В отличии от тебя, я дал решение задачи. Ты лишь оффтопнул.
(Offline)
 
Ответить с цитированием
Старый 05.08.2015, 18:18   #15
Кирпи4
Социал-сычевист
 
Аватар для Кирпи4
 
Регистрация: 24.06.2011
Сообщений: 611
Написано 342 полезных сообщений
(для 1,359 пользователей)
Ответ: Http-Сервер (Отправка файла)

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

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

В отличии от тебя, я дал решение задачи. Ты лишь оффтопнул.
А что если я скажу что я помог всё сделать, только в конторе?
__________________


(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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