Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/54: Рейтинг темы: голосов - 54, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 22.09.2009
Сообщений: 4

Как реализовать многопользовательское клиент-сервер приложение с возможность отправки сообщений определенному пользователю.

26.11.2009, 07:23. Показов 10206. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу JAVA приложение (GUI)
Программа для заказа пиццы по сети.
Есть сервер, есть много клиентов (которые могут присоединяться одновременно и выполнять заказ.
Возникла проблема с тем, как реализовать возможность соединения нескольких пользователей одновременно и получая при этом возможность получать данные с сервера.
Т.е. запускается сервер.
К нему соединяется 1 клиент, которые при соединении получает ответ от сервера, что соединение прошло успешно. С этим у меня все получилось.
Но проблема в том, что я жду заказа от этого клиента, чтобы после заказа отправить ему сумму, которую он должен заплатить. А пока он не выполнит заказ, не могу принять следующего клиента.
Как сделать так, чтобы могли присоединяться много клиентов и каждый независимо друг от друга мог выполнять свой заказ, получая при этом ответ от сервера. Ответ нужно отсылать определенному пользователю.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2009, 07:23
Ответы с готовыми решениями:

Клиент-сервер: как сделать чтобы задачи отправки и принятия сообщений работали параллельно
Привет, есть один код асинхронного сервера, взял отсюда http://msdn.microsoft.com/ru-ru/library/dd335942.aspx#Section6 вот его код using...

Клиент-серверное многопользовательское приложение
Требуется разработать с наименьшими затратами по времени и изучению технологий приложение которое должно работать примерно так: 1)...

Как реализовать select форма отправки сообщений на почту
Не подскажите как реализовать "select форма отправки сообщений на почту" Название/Цена:<select> <option...

7
 Аватар для Mecid
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
26.11.2009, 13:02
обязательно толстый клиент должен быть?
0
0 / 0 / 0
Регистрация: 22.09.2009
Сообщений: 4
26.11.2009, 20:57  [ТС]
Нет. Главное чтобы работало.
У меня почему-то застревает.
Не знаю как сделать так, чтобы сервер не ждал пока клиент закроет свое приложение, чтобы обработать другого клиента.
В моем случае, если присодиняется второй клиент, когда соединен первый, то тот (второй) как бы попадает в режим ожидания, до тех пор, пока первый не закроет свое приложение. А нужно чтобы все происходило одновременно
0
 Аватар для Mecid
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
26.11.2009, 20:59
что у вас на сервере используется?
0
0 / 0 / 0
Регистрация: 22.09.2009
Сообщений: 4
26.11.2009, 21:51  [ТС]
Socket и Thread
0
 Аватар для Mecid
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
26.11.2009, 21:53
ну используйте многопоточность для сервера,для каждого коннекшина свой поток
0
0 / 0 / 0
Регистрация: 22.09.2009
Сообщений: 4
26.11.2009, 22:57  [ТС]
Как раз это и не получается.
Я совсем запутался. Вроде должно быть не сложно, а не получается.
даже array[][] использовал, для опрделения сервером, конкретного клиента, чтобы ему отправить сообщение.
Но ничего не получается...
0
 Аватар для Mecid
684 / 233 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
26.11.2009, 23:59
делай так.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class myLogic implements Runnable{
Socket socket = null;
public myLogic(Socket s){
socket = s;
}
 
public void run(){
//здесь делай все что нужно для обработки соединения,читай данные
}
class Main {
public static void main(String[] args){
ServerSocket server = new ServerSocket(port);
while(true){
Socket s = server.accept();
Runnable r = new myLogic(s);
Thread thread = new Thread(r);
t.start();
}
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2009, 23:59
Помогаю со студенческими работами здесь

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

Клиент-серверное приложение: как определить, что сервер/клиент не отвечает в течении определенного времени
Пишу клиент-серверное приложение. Использую TCPListener и TCPClient. Вопрос: как определить что сервер(клиент) не отвечает в течении...

как работает шифрование сообщений в клиент-сервер пиложении?
Прочитал что есть два вида шифрований : симметричные и асимметричные. Вот алгоритм обмена сообщениями взятый со страницы на хабре...

Клиент-Сервер: как реализовать
Во общем есть Сервер на Ansi-C Задача:нужно написать клиента C# Данные поступают в 1с-1000структур по 40байт каждая структура. Нужно...

Как написать приложение клиент-сервер?
как написать приложение типа клиент-сервер на Java, поставил Java(TM) Web Services Developer Pack 1.1, в котором есть сервер TomCat....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru