Java RMI: Сниффер необходим

Экс-академический физик и теперь промышленный физик Великобритания здесь:

, Какие языки/среды Вы использовали для разработки научного программного обеспечения, особенно анализ данных? Какие библиотеки? (Например, что Вы используете для графического изображения?)

я главным образом использую MATLAB в эти дни (легкий получить доступ к функциям визуализации и математике). Я раньше использовал Фортран много и IDL. Я использовал C (но я - больше читатель, чем писатель C), макросы Excel (ужасный и сбивающий с толку). Я должен в настоящее время быть в состоянии считать Java и C++ (но я не могу действительно программировать в них), и я взломал Python также. Для моих собственных развлечений я теперь делаю некоторое программирование в C# (главным образом для получения мобильности / низкая стоимость / симпатичные интерфейсы). Я могу записать Фортран с в значительной степени любым языком, с которым я представлен;-)

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

Большинство (все?) студенческий курс физики будет обычно иметь маленький ход программирования о C, Фортране или MATLAB, но это - реальные основы. Я действительно хотел бы иметь некоторое обучение в разработке программного обеспечения в какой-то момент (управление версиями / тестирующий / разработка средних систем масштаба)

, у Вас было что-нибудь как управление версиями, отслеживание ошибок?

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

, Как был бы Вы идти о попытке создать достойную среду для программирования, не попадая слишком много путем индивидуальных ученых (особенно физики являются упрямыми людьми!)

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

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

6
задан GabiMe 10 November 2009 в 16:47
поделиться

4 ответа

Нужно ли вам "обнюхать" его, или вы можете развернуть настраиваемую фабрику сокетов на клиенте или сервере?

Раньше я создавал настраиваемый RMI фабрика серверных сокетов, которая создала «тройник» в потоке, прочитанном службой RMI. Поскольку среда выполнения RMI обычно считывает один из потоков, мой код также получил копию JRMP для анализа. В моем случае я регистрировал удаленные вызовы, включая их параметры в сериализованной форме, чтобы я мог «воспроизвести» их позже для нагрузочного тестирования. Простого включения параметров ведения журнала RMI для этого было недостаточно.

Одна проблема заключается в том, что документация JRMP плохая, а в некоторых случаях неточная. Другой заключается в том, что значительная часть необходимого кода не является частью ядра Java API. Это было сложно. Я думал, что хорошо разбираюсь в RMI, прежде чем начал,

4
ответ дан 10 December 2019 в 02:49
поделиться

Вы можете установить некоторые свойства java , чтобы сделать rmi более подробным.

Возможно, вам понадобится этот параметр:

sun.rmi.client.logCalls (1.4 и позже)

Если значение этого свойства истинно, регистратор sun.rmi.client.call будет установлен на уровень Level.FINER. Удаленные вызовы регистрируются на уровне Level.FINER, а исключения из удаленных вызовов регистрируются на уровне Level.FINE.

5
ответ дан 10 December 2019 в 02:49
поделиться

Я не знаю инструмента, который может прослушивать и расшифровывать трафик RMI вне сети. Если никто другой не делает этого, менее оптимальным решением могло бы стать оснащение ваших заглушек / скелетов (вероятно, автоматически созданных, если вы используете Java 5 или новее) или частей инфраструктуры RMI с кодом для вывода сообщений журнала.

Для этого можно использовать АОП или какой-нибудь инструмент для работы с байтовым кодом. Я' Я успешно использовал JavaAssist для задач, аналогичных вашей. Это очень удобно для инструмента такого рода.

0
ответ дан 10 December 2019 в 02:49
поделиться

Ethereal может помочь, но это довольно низкий уровень.

0
ответ дан 10 December 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: