0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 14
1

Сокеты. Прием данных клиентом от сервера

18.11.2014, 20:01. Показов 1251. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Задача такая: Клиент отправляет серверу данные, сервер, исходя из полученных данных, обращается к БД, результат запроса нужно отправить клиенту.
Обязательно ли создавать отдельный поток для прослушивания сообщений от сервера? И можно ли обойтись тут только блокирующими сокетами?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2014, 20:01
Ответы с готовыми решениями:

Приём сообщения клиентом от сервера
Расскажи пожалуйста, как это правильно делается. я реализовал клиент, передачу на сервер он делает...

Прием данных клиентом TcpClient, данных попадается некорректные значения, почему?
Есть сервер на си, который шлет ответ клиенту, вот тестовый кусок: struct recv_packet { int...

Сокеты, приём данных
В общем написал более-менее работающий клиент и сервер общающиеся между собой на асинхронных...

Асинхронные сокеты: Как организовать разделение на прием сообщений и прием файлов
Изучив синхронные сокеты, перешел к изучению асинхронных. Столкнулся вот с чем, как, используя...

7
68 / 65 / 21
Регистрация: 01.05.2014
Сообщений: 247
18.11.2014, 22:34 2
Цитата Сообщение от ferny Посмотреть сообщение
Здравствуйте.
Здравствуйте.
Нет. Не надо велосипед изобретать, сделан - лет несколько уже.
Качайте библиотеку : http://www.komodia.com/tcpip-library-v4-0
* всё с примерами!
** Да. Чтобы положить сервер "Барака" нужно постараться.
*** ( Качать лучше : "Download the library." - и-ии - качайте, только не пятую версию.
0
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
18.11.2014, 23:11 3
По-моему для такой простой задачи использование библиотеки это оверкилл. Нет, поток создавать не обязательно, достаточно будет обычных poll/select. Пул обрабатывающих потоков имеет смысл использовать на многопроцессорных системах при недостатке производительности однопоточной версии.
0
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 14
18.11.2014, 23:12  [ТС] 4
т.е., использовать асинхронные сокеты?
0
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
18.11.2014, 23:46 5
Нет, обычные блокирующие. Асинхронные будут вырабатывать сигнал, по-моему в данной задаче это очень неудобно и будет потеря производительности.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
19.11.2014, 10:50 6
Я бы начал с вопроса: а какой поток данных (запросов-ответов) ожидается в этом сценарии? Потому что если это будет 1 запрос в месяц, то совершенно пофигу, как это реализовать, - можно хоть посыльного посылать с дискетой
0
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 14
19.11.2014, 14:28  [ТС] 7
это вообще курсовая работа, практического применения иметь не будет)
0
И целого heap'а мало
96 / 57 / 17
Регистрация: 31.07.2014
Сообщений: 291
20.11.2014, 13:51 8
Цитата Сообщение от ferny Посмотреть сообщение
Обязательно ли создавать отдельный поток для прослушивания сообщений от сервера?
А он у тебя, акромя слушанья сокета и последующего обращения к БД и отсылки результата обратно, что-нибудь делает?
Если нет, то и лишние потоки не нужны, хватит блокирующих сокетов.
Если что-то делает, то, ну распоточь чуток и впихни опять же блокирующие сокеты.
Цитата Сообщение от ferny Посмотреть сообщение
это вообще курсовая работа, практического применения иметь не будет
Тогда тем более нет смысла экономить на спичках; чай перетерпишь 15 тысячных секунды (тут не уверен в цифре) на смену контекста потока.

Не по теме:

SEO: как заработать на рекламе, блокирующие сокеты

0
20.11.2014, 13:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2014, 13:51
Помогаю со студенческими работами здесь

Прием данных от сервера, все время ноль
Есть два консольных приложения - Server и Client, между ними все передается/все принимается. ...

Связь между клиентом и сервером через сокеты
Поняв всю суть сокетов, научившись передавать данные по локальной сети, мне захотелось чего-то...

Прием структуры через сокеты
добрый день, пытаюсь передать структуру через сокет вот структура struct ForSend //structure for...

Сырые сокеты: написание промежуточного сервера, через которого подключены клиенты и сервера клиентов
Доброго времени суток! Мне нужно сделать промежуточный сервер через которого подключены клиенты и...

Сокеты: отпрака/прием строки с непечатными символами
Добрый вечер. Есть простенькая реализация клиента и сервера, которые обмениваются некоторыми...

Общение сервера с клиентом
Здравствуйте, форумчане! Стоит задача: разработать клиент-серверное ftp приложение на python (можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru