Pull to refresh
17
0
Send message

fwrite/fread в windows могут повредить ваши данные

Reading time 2 min
Views 1K
Сегодня столкнулся с интересным поведением ошибкой в функциях стандартной библиотеки С fwrite/fread в windows xp (msvcrt.dll версии 7.0.2600.5512). Я писал данные (структуры) с помощью fwrite, а после этого сразу читал следующие за записанными с помощью fread. В результате первая прочитанная структура в файле повреждалась.
Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Comments 11

RMI (Remote Method Invocation)

Reading time 5 min
Views 84K
Случилось так, что поставленная задача требовала применения удалённого вызова методов. Порывшись на Хабре, ничего не нашел по данному вопросу (хотелось что-нибудь почитать в качестве первого знакомства, перед чтением документации). Изучив спецификации на java.sun.com спешу поделиться с вами своей первой статьей. :)

«Что такое RMI?»


Remote method Invocation — механизм, который позволяет вызывать метод удалённого объекта. Согласно ему, все операции по подготовке и передаче данных инкапсулируются в вызываемом методе клиентского объекта-заглушки (stub). Сам же вызов метода ничем не отличается от вызова метода обычного локального объекта, за небольшим исключением:
  • все параметры передаются по значению (т.е. копии объектов, а не ссылки на них, как это обычно происходит) — исправил ниже. Спасибо KonstantinSolomatov
  • локальные объекты передаются по значению (копии)
  • при передаче удалённого (Remote) объекта, если он экспортирован, передаётся stub этого объекта
  • передаваемые объекты должны быть Serializable
  • кроме всех прочих исключительных ситуаций, при вызове удалённого метода может возбуждаться исключение RemoteException (ошибки маршализации/демаршализации, передачи данных и другие возможные ошибки протокола)
Так же нужно отметить, что при вызове метода мы работаем с удалённым интерфейсом, а не с удалённым классом.

Читать дальше →
Total votes 40: ↑32 and ↓8 +24
Comments 14

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity