ФорумСообществоФлейм → Очередность запуска клиент-серверного приложения.

Очередность запуска клиент-серверного приложения.

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 14 сентября 2012 г. 10:37

    Написал софт который отправляет файл (по частях). Во время разработки наткнулся на статью в которой указано что сначала обязательно следует запустить серверный сокет а только потом уже клиентский. И я в этом убедился на практике - если я запущу в таком порядке, то файл передастся целиком по феншую, хеш-суммы совпадут.
    Если же наоборот - файл будет битым. Тестировал же конечно я на локалхосте(писал на джаве).
    Может ли кто-нибудь в деталях объяснить значение порядка запуска сабжа? Почему так происходит? С чем может быть связано?
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 сентября 2012 г. 11:00, спустя 22 минуты 25 секунд

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

    второй ммоент: часто после твоих топиков я задаюсь вопросом - как тебя на работу то берут? :-)

    проблема вполне очевидна - куда отправлять данные если слушателя нет. не кажется очевидно? либо ты не все описал и проблема глубже :-)
    Сапожник без сапог
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 14 сентября 2012 г. 12:35, спустя 1 час 35 минут 22 секунды

    проблема явно в самой реализации
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 14 сентября 2012 г. 12:36, спустя 1 минуту 9 секунд

    phpdude, в том то как-раз и загвоздка… Видишь ли, если бы я сначала запустил клиента на котором попытался бы установить соединение с сервером на определенном порту, программа бы вывалила ошибку - соответственно же не принято считать что такой софт работает корректно поскольку в таком случае никакие данные бы вообще не передались.
    Ты или читаешь вопрос невнимательно или еще что… Я же упомянул, что при двух вариантах данные передаются БЕЗ ошибок на уровне программы, просто во втором случае они выходят битые.
    Когда я запускаю сначала клиента, то он просто ждет пользователя пока тот не укажет что он готов передать файл, и только ПОСЛЕ этого создается соединение с сокетом, который на тот момент уже ДОЛЖЕН быть запущенным(иначе, как я и говорил - вылетит эксцепшн).
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 сентября 2012 г. 12:40, спустя 3 минуты 54 секунды


    phpdude, в том то как-раз и загвоздка… Видишь ли, если бы я сначала запустил клиента на котором попытался бы установить соединение с сервером на определенном порту, программа бы вывалила ошибку - соответственно же не принято считать что такой софт работает корректно поскольку в таком случае никакие данные бы вообще не передались.
    Ты или читаешь вопрос невнимательно или еще что… Я же упомянул, что при двух вариантах данные передаются БЕЗ ошибок на уровне программы, просто во втором случае они выходят битые.
    Когда я запускаю сначала клиента, то он просто ждет пользователя пока тот не укажет что он готов передать файл, и только ПОСЛЕ этого создается соединение с сокетом, который на тот момент уже ДОЛЖЕН быть запущенным(иначе, как я и говорил - вылетит эксцепшн).
    мб udp?
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 14 сентября 2012 г. 12:46, спустя 5 минут 34 секунды

    Не знаю даже. Насколько знаю, ненадежный этот протокол. Надо сверять вручную порядок доставленных данных. Но если жто единственная альтернатива то надо будет зырнуть.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 сентября 2012 г. 13:13, спустя 27 минут 31 секунду


    Не знаю даже. Насколько знаю, ненадежный этот протокол. Надо сверять вручную порядок доставленных данных. Но если жто единственная альтернатива то надо будет зырнуть.
    я про твой говорю. может у тебя юдп?)
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 14 сентября 2012 г. 14:49, спустя 1 час 35 минут 36 секунд

    А, да нет. Я юзаю обычный Socket. (Для юдп есть класс DatagramSocket).

Пожалуйста, авторизуйтесь, чтобы написать комментарий!