Форум → Сообщество → Флейм → Очередность запуска клиент-серверного приложения.
Очередность запуска клиент-серверного приложения.
-
Написал софт который отправляет файл (по частях). Во время разработки наткнулся на статью в которой указано что сначала обязательно следует запустить серверный сокет а только потом уже клиентский. И я в этом убедился на практике - если я запущу в таком порядке, то файл передастся целиком по феншую, хеш-суммы совпадут.
Если же наоборот - файл будет битым. Тестировал же конечно я на локалхосте(писал на джаве).
Может ли кто-нибудь в деталях объяснить значение порядка запуска сабжа? Почему так происходит? С чем может быть связано? -
14 сентября 2012 г. 19:00, спустя 22 минуты 25 секунд
заебись наверное использовать код, который ты не понимаешь чуть более чем полностью.
второй ммоент: часто после твоих топиков я задаюсь вопросом - как тебя на работу то берут? :-)
проблема вполне очевидна - куда отправлять данные если слушателя нет. не кажется очевидно? либо ты не все описал и проблема глубже :-)Сапожник без сапог -
14 сентября 2012 г. 20:35, спустя 1 час 35 минут 22 секунды
проблема явно в самой реализацииYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
14 сентября 2012 г. 20:36, спустя 1 минуту 9 секунд
phpdude, в том то как-раз и загвоздка… Видишь ли, если бы я сначала запустил клиента на котором попытался бы установить соединение с сервером на определенном порту, программа бы вывалила ошибку - соответственно же не принято считать что такой софт работает корректно поскольку в таком случае никакие данные бы вообще не передались.
Ты или читаешь вопрос невнимательно или еще что… Я же упомянул, что при двух вариантах данные передаются БЕЗ ошибок на уровне программы, просто во втором случае они выходят битые.
Когда я запускаю сначала клиента, то он просто ждет пользователя пока тот не укажет что он готов передать файл, и только ПОСЛЕ этого создается соединение с сокетом, который на тот момент уже ДОЛЖЕН быть запущенным(иначе, как я и говорил - вылетит эксцепшн). -
14 сентября 2012 г. 20:40, спустя 3 минуты 54 секунды
мб udp?
phpdude, в том то как-раз и загвоздка… Видишь ли, если бы я сначала запустил клиента на котором попытался бы установить соединение с сервером на определенном порту, программа бы вывалила ошибку - соответственно же не принято считать что такой софт работает корректно поскольку в таком случае никакие данные бы вообще не передались.
Ты или читаешь вопрос невнимательно или еще что… Я же упомянул, что при двух вариантах данные передаются БЕЗ ошибок на уровне программы, просто во втором случае они выходят битые.
Когда я запускаю сначала клиента, то он просто ждет пользователя пока тот не укажет что он готов передать файл, и только ПОСЛЕ этого создается соединение с сокетом, который на тот момент уже ДОЛЖЕН быть запущенным(иначе, как я и говорил - вылетит эксцепшн).Сапожник без сапог -
14 сентября 2012 г. 20:46, спустя 5 минут 34 секунды
Не знаю даже. Насколько знаю, ненадежный этот протокол. Надо сверять вручную порядок доставленных данных. Но если жто единственная альтернатива то надо будет зырнуть. -
14 сентября 2012 г. 21:13, спустя 27 минут 31 секунду
я про твой говорю. может у тебя юдп?)
Не знаю даже. Насколько знаю, ненадежный этот протокол. Надо сверять вручную порядок доставленных данных. Но если жто единственная альтернатива то надо будет зырнуть.Сапожник без сапог -
14 сентября 2012 г. 22:49, спустя 1 час 35 минут 36 секунд
А, да нет. Я юзаю обычный Socket. (Для юдп есть класс DatagramSocket).
Пожалуйста, авторизуйтесь, чтобы написать комментарий!