Почему бы не зеркально отразить проблему и создать классы, которые накладывают буфер для вытаскивания битов?
// member variables
IPHeader ipHeader = new IPHeader();
TCPHeader tcpHeader = new TCPHeader();
// passing in the buffer, an offset and a length allows you
// to move the header over the buffer
ipHeader.SetBuffer( buffer, 0, 20 );
if( ipHeader.Protocol == TCP )
{
tcpHeader.SetBuffer( buffer, ipHeader.ProtocolOffset, 20 );
}
Можете ли вы использовать extJS для бизнес-приложения бесплатно?
Что ж, вы можете, если любое из следующих утверждений верны.
Ext JS поставляется с двойной лицензией:
http://extjs.com/products/license. php
Итак, да, если вы открываете исходный код своего приложения с лицензией, совместимой с лицензией GNU GPL v3.
ExtJs всегда имеет двойную лицензию. Однако часть двойной лицензии с открытым исходным кодом становится все более ограничивающей по мере развития продукта.
Версия 2.0.2 была последней версией LGPL. Все последующие выпуски (начиная с версии 2.1) были выпущены под лицензией GPL.
Если вы хотите перейти на версию 2.0.2, она довольно стабильна, но без некоторых наворотов. свистки более поздних релизов. Вы можете получить его здесь: http://yogurtearl.com/ext-2.0.2.zip
Я бы прочитал лицензионное соглашение .
Вы не можете без предварительного письменного согласие Ext JS, LLC, распространять Программное обеспечение или другие модификации чем путем включения Программного обеспечения или его часть в пределах вашей собственной продукт, который должен иметь существенно другой функционал чем Программное обеспечение или Модификации и не должен позволять третьим лицам использовать Программное обеспечение или модификации, или любые их части, для программного обеспечения в целях развития. Ты явно не разрешено распространять Программное обеспечение или модификации как часть любого продукта, который можно описать в качестве инструментария разработки или библиотеки или предназначен для использования программным обеспечением разработчики, а не конечные пользователи. Ты не разрешено распространять какую-либо часть документации по программному обеспечению.
Это под лицензией GPL, а также доступно с коммерческой лицензией. Однако с природой Javascript и тем фактом, что он всегда загружается браузером перед выполнением, возможно, люди думали, что, используя ExtJS, они фактически будут распространять пакет и в конечном итоге должны будут распространять свой собственный исходный код. под GPL.
У них есть лицензия, которая конкретно применяется к Приложениям, которые используют библиотеку, и не создают библиотеки на основе ExtJS:
(d) Производную работу можно разумно считать независимой и отдельной работой, которая предназначена для использования конечными пользователями, а не в качестве библиотеки для целей разработки программного обеспечения ».
Итак, исходя из моего понимания этого, вы можете использовать ExtJS в общедоступном веб-приложении, а также должны иметь возможность создавать свои собственные виджеты Javascript на основе ExtJS, если они не распространяются сами по себе как отдельная библиотека.