Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java net chat, Создание сетевого чата на Java 
:(
    Опции темы
Kero
Дата 2.12.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Здравствуйте толпа программеровsmile!
Я засел за Java и начал создавать сетевой чат.Возникло много трудностей,возможно связанных с моим незнанием языка,которые нужно обойти.У меня к знающим есть вопрос:Как лучше реализировать чат,для того,чтоб его можно было протестировать у себя на машине с использованием сервера(напр. Apache)?
Жду ответов)
PM MAIL ICQ MSN   Вверх
shimopus
Дата 2.12.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 25.8.2006

Репутация: нет
Всего: 1



а что за чат на Apache? Или это должен быть веб-чат?
PM ICQ Skype GTalk   Вверх
Kero
Дата 2.12.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



в смысле как-то семулить сеть на апаче и проверить работу чата.Я привел как пример, я вовсе не подразумеваю его, просто я не имею представления как тестировать сетевой чат на безсетевой машине.
PM MAIL ICQ MSN   Вверх
COVD
Дата 2.12.2006, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Запускаете на своей машине сервер (Апач, Томкат,..). Открываете на этой же машине браузер и в адресе указываете http://127.0.0.1 или http://localhost . Ваш браузер пошлет запрос на ваш локальный сервер. 
PM MAIL   Вверх
hovex
Дата 5.12.2006, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 6.6.2006

Репутация: нет
Всего: нет



я не понял, ето будет чат с клинетом и сервером, или простой вебчат?
Если веб чат, то напиши свои сервер запускай на машине...
создай саитик, где будет работат апплет, который будет связоватся с твоим сервером(програма которая слушает некий порт) и настраивай Java Police  чтобы апплет смог открыват сокет соеидениние...
Аплет будет послат сообшение серверу, а тот в свою очередь к собеседнику...

Но самое главное серверная програма и appache  должны работать обезятельно на одном и том же компутере.. 
PM MAIL   Вверх
Kero
Дата 6.12.2006, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



С апплетиком я понял как делать)
Моя задача создать чат в Java.Swing оболочке,как приложение ,без участия апплета.Как тут лучше поступить?
PM MAIL ICQ MSN   Вверх
LSD
Дата 7.12.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(Kero @  6.12.2006,  22:05 Найти цитируемый пост)
Моя задача создать чат в Java.Swing оболочке,как приложение ,без участия апплета.Как тут лучше поступить?

В чем проблема?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
Дата 9.12.2006, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Большая.
Я не знаю как его протестировать в домашних условиях.
К примеру как по сети или в локальном компютере найти ВСЕ окна,которые есть чаты,и соединится с ними.
PM MAIL ICQ MSN   Вверх
Kero
Дата 9.12.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Решено-как-то проверил.
Теперь огромная проблемка:Я делаю ServerSocket с портом своим.Как и предполагалось два чата одновременно не могут юзать один и тот-же порт-выскакивает ошибка мол "Все".Что делать?Каждому чату СВОЙ порт?
PM MAIL ICQ MSN   Вверх
batigoal
Дата 10.12.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 2
Всего: 151



Да. Иначе сервер не будет знать, кому из приложений он отправляет ответ - ведь комбинация хоста и порта будут совпадать.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 10.12.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(Kero @  9.12.2006,  18:17 Найти цитируемый пост)
Что делать?Каждому чату СВОЙ порт?

Каждому чат серверу, нужен свой порт. Но никто не запрещает на одном сервере держать несколько каналов.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
Дата 10.12.2006, 15:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Допустим...
Много портов я сделаю.
Теперь нужно решить мощную проблемму:семулировать сеть и протестить всю связку.С помощью какой софтинки лучше?
PM MAIL ICQ MSN   Вверх
LSD
Дата 10.12.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



1. Ты можешь использовать 127.0.0.1
2. Если ты хочешь тестировать реальную сетевую нагрузку, тебе понадобится сесть и несколько компов.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
Дата 10.12.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Честно-мне все равно нагрузка))))Интересно или оно будет вообще работать)
Ладно.Сеть я найду.Не проблемма)
Пролемка следующая в поиске:как обратится ко ВСЕЙ сети локальной ,и найти там айпихи с работающим моим чатом?
PM MAIL ICQ MSN   Вверх
LSD
Дата 11.12.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Надо послать широковещательный UDP пакет на определенный порт. И все чаты в данной локальной сети должны слушать этот порт, и дать некий отклик на данный пакет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
Дата 11.12.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Блин(А без датаграм не получится?Мне родней ТСП)
PM MAIL ICQ MSN   Вверх
Kero
Дата 18.12.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Народ!Ктонить!Подскажите как семулить сеть для теста двух сетевых приложений? 
PM MAIL ICQ MSN   Вверх
BlackStar
Дата 19.12.2006, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 13.12.2006

Репутация: нет
Всего: 5



Как вариант создать виртуальную машину в VMWare. Но это довольно трудоемко. А вообще можно отладить все на одной машине - не вижу проблемы.
PM MAIL Jabber   Вверх
Kero
Дата 19.12.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Поделись реализацией)
PM MAIL ICQ MSN   Вверх
BlackStar
Дата 19.12.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 13.12.2006

Репутация: нет
Всего: 5



Реализацией чего?

Вот лучше почитай сначала:

Туториал по сетевым технологиям Java: http://java.sun.com/docs/books/tutorial/ne...king/index.html
Конкретно по сокетами: http://java.sun.com/docs/books/tutorial/ne...kets/index.html
Конкретно реализация (и запуск)  клиент-сервера: http://java.sun.com/docs/books/tutorial/ne...ientServer.html
PM MAIL Jabber   Вверх
Andyb
Дата 19.12.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 7.6.2004
Где: Lille, France

Репутация: 1
Всего: 5



Это сервер:
Код

import java.io.*;
import java.net.*;
import java.util.*;

public class ThreadedEchoServer
{  
   public static void main(String[] args )
   {  
      try
      {  
         int i = 1;
         ServerSocket s = new ServerSocket(8189);

         while (true)
         {  
            Socket incoming = s.accept();
            System.out.println("Spawning " + i);
            Thread r = new ThreadedEchoHandler(incoming, i);
            Thread t = new Thread(r);
            t.start();
            i++;
         }
      }
      catch (IOException e)
      {  
         e.printStackTrace();
      }
   }
}

/class ThreadedEchoHandler extends Thread

   /**
      Constructs a handler.
      @param i the incoming socket
      @param c the counter for the handlers (used in prompts)
   */
   public ThreadedEchoHandler(Socket i, int c)
   { 
      incoming = i; counter = c; 
   }

   public void run()
   {  
      try
      {  
         try
         {
            InputStream inStream = incoming.getInputStream();
            OutputStream outStream = incoming.getOutputStream();
            
            Scanner in = new Scanner(inStream);         
            PrintWriter out = new PrintWriter(outStream, true /* autoFlush */);
            
            out.println( "Hello! Enter BYE to exit." );
            
            // echo client input
            boolean done = false;
            while (!done && in.hasNextLine())
            {  
               String line = in.nextLine();            
               out.println("Echo: " + line);            
               if (line.trim().equals("BYE"))
                  done = true;
            }
         }
         finally
         {
            incoming.close();
         }
      }
      catch (IOException e)
      {  
         e.printStackTrace();
      }
   }

   private Socket incoming;
   private int counter;
}

К нему может коннектитсяа бесконечное число клиентов
данный пример можно обиграть как угодно: SSL, отправка файлов и картинок и тп...
(у меня даже где то исходник такой валялся - как то тоже пытался такое делать - если интересно - пиши)
--------------------
 Большинство наших ошибок происходит из-за невнимательности.
PM ICQ   Вверх
Kero
  Дата 19.12.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Цитата(Andyb @ 19.12.2006,  19:11)
**К нему может коннектитсяа бесконечное число клиентов
**данный пример можно обиграть как угодно: SSL, отправка **файлов и картинок и тп...
**(у меня даже где то исходник такой валялся - как то тоже **пытался такое делать - если интересно - пиши)

Спасибки за ссылки,но нажаль я на них всех бывал,и мой мультисервер имеет похожую структуру.Я уже все это реализовал,и у меня получается мультиконнект и ост.
Но все же есть загвоздка:мой чат не должен иметь кучу клиентов и один сервер.Чат в себе имеет И сервер И клиент.Он должен:
-Сканить всю локальную сеть на живые коннекты и чаты
-Бродкастить твои сообщения и принимать чужие
-И самое главное-быть одновременно и Сервером И Клиентом.
Задача моя на данный момент состоит в следующем:
Выбрать-ИЛИ TCP , ИЛИ UDP.Всмысле для кайфового бродкаста лучше УДП,а ТСП мне понятней)Ну это уже проблеммы разраба,а сейчас стоит задача в реализации Постоянного сканирования сети на предмет живых чатов.Вот зачем мне эмуляция сети,и совет проффи)
Если заинтиресован - будь добр посоветуй решение)
PM MAIL ICQ MSN   Вверх
LSD
Дата 20.12.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



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


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Andyb
Дата 20.12.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 7.6.2004
Где: Lille, France

Репутация: 1
Всего: 5



IMHO проще это тогда через UDP делать, но вот надёжней ли...
--------------------
 Большинство наших ошибок происходит из-за невнимательности.
PM ICQ   Вверх
BlackStar
Дата 20.12.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 13.12.2006

Репутация: нет
Всего: 5



Цитата(LSD @  20.12.2006,  14:30 Найти цитируемый пост)
Зачем нужно постоянное сканирование. Пусть лучше при появлениии нового клиента он рассылает пакет, уведомляющий что появился новый клиент. При выключении - пакет, что клиент вышел из сети.А сам обмен сообщениями можно вести по TCP.


Я так подозреваю что постоянное сканирование нужно для отслеживания отвалившихся клиентов. Ведь не всегда же клиент может послать сообщение что он вышел из сети, например случай когда завис или отключили питание.
PM MAIL Jabber   Вверх
Kero
Дата 20.12.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Цитата(BlackStar @ 20.12.2006,  16:15)
Цитата(LSD @  20.12.2006,  14:30 Найти цитируемый пост)
Зачем нужно постоянное сканирование. Пусть лучше при появлениии нового клиента он рассылает пакет, уведомляющий что появился новый клиент. При выключении - пакет, что клиент вышел из сети.А сам обмен сообщениями можно вести по TCP.


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


Именно потому.

Народ-я на UDP вообще не надеюсь-т.к. нужно на 100% знать или пакет дошел,или нет.

LSD - скажи пожалуйста как разослать ВСЕМ пакет о том,что он в онлайне,с помощью TCP,именно всем живым людям в сети?Вот тогда будет мне почти все предельно ясно.

Это сообщение отредактировал(а) Kero - 20.12.2006, 22:14
PM MAIL ICQ MSN   Вверх
LSD
Дата 20.12.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(BlackStar @  20.12.2006,  16:15 Найти цитируемый пост)
Я так подозреваю что постоянное сканирование нужно для отслеживания отвалившихся клиентов. Ведь не всегда же клиент может послать сообщение что он вышел из сети, например случай когда завис или отключили питание.

Для этой цели можно сделать пульс, каждые N секунд посылается спец посылка (при условии, что за этот интервал не было передачи данных), которая сигнализирует, что клиент жив.

Цитата(Kero @  20.12.2006,  22:11 Найти цитируемый пост)
LSD - скажи пожалуйста как разослать ВСЕМ пакет о том,что он в онлайне,с помощью TCP,именно всем живым людям в сети?Вот тогда будет мне почти все предельно ясно.

Широковещательных TCP соединений не существует (в отличие от UDP). Поэтому единственный гарантированный способ, это по очереди соединяться с каждым узлом сети (если они известны, а если нет, то с каждым IP адресом данной подсети).
В чем проблема использовать 2 протокола? UDP - для поиска узлов в сети, TCP для передачи сообщений.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
Дата 20.12.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Цитата(LSD @ 20.12.2006,  22:29)
Цитата(BlackStar @  20.12.2006,  16:15 Найти цитируемый пост)
Я так подозреваю что постоянное сканирование нужно для отслеживания отвалившихся клиентов. Ведь не всегда же клиент может послать сообщение что он вышел из сети, например случай когда завис или отключили питание.

Для этой цели можно сделать пульс, каждые N секунд посылается спец посылка (при условии, что за этот интервал не было передачи данных), которая сигнализирует, что клиент жив.

Цитата(Kero @  20.12.2006,  22:11 Найти цитируемый пост)
LSD - скажи пожалуйста как разослать ВСЕМ пакет о том,что он в онлайне,с помощью TCP,именно всем живым людям в сети?Вот тогда будет мне почти все предельно ясно.

Широковещательных TCP соединений не существует (в отличие от UDP). Поэтому единственный гарантированный способ, это по очереди соединяться с каждым узлом сети (если они известны, а если нет, то с каждым IP адресом данной подсети).
В чем проблема использовать 2 протокола? UDP - для поиска узлов в сети, TCP для передачи сообщений.

Прекрасно.
Теперь мы подошли к финалу:КАК с помощью UDP найти клиентов в сети за масками типа открыт 2345 порт etc. наиболее максимально еффективно???
PM MAIL ICQ MSN   Вверх
LSD
Дата 20.12.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Что-то наподобие такого:
Код
 // join a Multicast group and send the group salutations
 ...
 String msg = "Hello";
 InetAddress group = InetAddress.getByName("228.5.6.7");
 MulticastSocket s = new MulticastSocket(6789);
 s.joinGroup(group);
 DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), group, 6789);
 s.send(hi);
 // get their responses!
 byte[] buf = new byte[1000];
 DatagramPacket recv = new DatagramPacket(buf, buf.length);
 s.receive(recv);
 ...
 // OK, I'm done talking - leave the group...
 s.leaveGroup(group);



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Kero
  Дата 21.12.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



А можна дураку поподробней, как найти все живые адреса в локальной сети, с открытым определенным портом с помощью UDP???
Мне что-то с данного кода не очень понятноsmilesmilesmile

Это сообщение отредактировал(а) Kero - 21.12.2006, 15:41
PM MAIL ICQ MSN   Вверх
Kero
Дата 27.12.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



...что-то никто не отвечает smile , а у меня время на реализацию тикает...
PM MAIL ICQ MSN   Вверх
JavaCraft
Дата 10.2.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 8.2.2007

Репутация: нет
Всего: 1



Цитата(LSD @ 20.12.2006,  23:49)
Что-то наподобие такого:
Код
 // join a Multicast group and send the group salutations
 ...
 String msg = "Hello";
 InetAddress group = InetAddress.getByName("228.5.6.7");
 MulticastSocket s = new MulticastSocket(6789);
 s.joinGroup(group);
 DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), group, 6789);
 s.send(hi);
 // get their responses!
 byte[] buf = new byte[1000];
 DatagramPacket recv = new DatagramPacket(buf, buf.length);
 s.receive(recv);
 ...
 // OK, I'm done talking - leave the group...
 s.leaveGroup(group);

А если в задачу не входит прием ответов по UDP, а нужно только разослать широковещаетльное уведомление. Вторая часть (// get their responses!) не обязательна? Эти ответы, они автоматически генерируются сетевухой или их приложение клиента генерит в ответ на уведомление?
Если приложение клиента, то понятно. Не делать этого на клиенте и всё. А если сетевуха, то что будет?
У меня, например, задача такая. Разослать уведомление и ждать ответов на другом TCP сокете.
PM MAIL   Вверх
Kero
Дата 10.2.2007, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 10.5.2006
Где: Винница,Украина | | Реал

Репутация: нет
Всего: 1



Спасибо.
Этот сампл с манов я уже давно видел, и все мне показывают.
Я такую фичу уже реализовал-одна проблемка-протестить это у меня дома.У меня нет сети, а проект требует домашнего теста.Без маршрутизатора ,УДП не принимается и не отсылается.
Что делать....
PM MAIL ICQ MSN   Вверх
JavaNewb
Дата 28.3.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



А может у кого остались подобные исходники?? Очень было бы кстати посмотреть на эту реализацию!..
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.1812 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.