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

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

26.11.2009, 07:23. Показов 10178. Ответов 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
683 / 232 / 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
683 / 232 / 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
683 / 232 / 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
683 / 232 / 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru