Возможно ли в Ada с помощью сокетов пересылать объекты? (подозреваю, что можно, но незнаю как правильно). А объекты вида stack или iterator? Может есть к-л примеры?
pkursovs wrote: > Возможно ли в Ada с помощью сокетов пересылать объекты? (подозреваю, > что можно, но незнаю как правильно). А объекты вида stack или > iterator? Может есть к-л примеры? > Стандарт языка работу с сокетами не определяет. :) Но если представить сокет как поток, то переопределяяя при необходимости атрибуты 'Read, 'Write, 'Input, 'Output можно передавить любой объект. -- Vadim Godunko
pkursovs wrote: > Возможно ли в Ada с помощью сокетов пересылать объекты? (подозреваю, > что можно, но незнаю как правильно). А объекты вида stack или > iterator? Может есть к-л примеры? > Стандарт языка работу с сокетами не определяет. :) Но если представить сокет как поток, то переопределяя при необходимости атрибуты 'Read, 'Write, 'Input, 'Output можно передавить любой объект. -- Vadim Godunko
pkursovs wrote: >>Возможно ли в Ada с помощью сокетов пересылать объекты? (подозреваю, >>что можно, но незнаю как правильно). А объекты вида stack или >>iterator? Может есть к-л примеры? >> >> Я бы порекомендовал не передавать объекты по сокету "как есть". Думаю лучше передавать данные содержащиеся в сложных объектах пользуясь форматом XML. Можно поверх HTTP. Или воспользоваться протоколами удаленного вызова процедур, либо встроенным в Ада, Annex E (normative): Distributed Systems (реализация для GNAT называется GLADE.) Или COBRA, реализации для Ада тоже есть (не помню где). Или есть реализация SOAP протокола в AWS (Ada Web Server)
Dmitriy Anisimkov wrote: > Или воспользоваться протоколами удаленного вызова процедур, либо > встроенным в Ада, > Annex E (normative): Distributed Systems > (реализация для GNAT называется GLADE.) > > Или COBRA, реализации для Ада тоже есть (не помню где). http:\\libre.act-europe.fr\polyorb ;) > Или есть реализация SOAP протокола в AWS (Ada Web Server) > Там же. -- Vadim Godunko
Vasiliy Fofanov wrote: >>Стандарт языка работу с сокетами не определяет. :) > > > В стандарте 0Y будет :) > oops... А какой AI? -- Vadim Godunko
> Стандарт языка работу с сокетами не определяет. :) В стандарте 0Y будет :)
> oops... А какой AI? Пока не утверждено, но прототип предложено разработать именно нам, поэтому есть основания думать что он будет аналогичен GNAT.Sockets.
Vasiliy Fofanov wrote: >>oops... А какой AI? > > > Пока не утверждено, но прототип предложено разработать именно нам, поэтому > есть основания думать что он будет аналогичен GNAT.Sockets. > Тогда не забудьте, пожалуйста, придумать интерфейс для рассматриваемого случая. -- Vadim Godunko
--- In [email protected], Vadim Godunko <vgodunko@r...> wrote: > pkursovs wrote: > > ÷ÏÚÍÏÖÎÏ ÌÉ × Ada Ó ÐÏÍÏÝØÀ ÓÏËÅÔÏ× ÐÅÒÅÓÙÌÁÔØ ÏÂßÅËÔÙ? (ÐÏÄÏÚÒÅ×ÁÀ, > > ÞÔÏ ÍÏÖÎÏ, ÎÏ ÎÅÚÎÁÀ ËÁË ÐÒÁ×ÉÌØÎÏ). á ÏÂßÅËÔÙ ×ÉÄÁ stack ÉÌÉ > > iterator? íÏÖÅÔ ÅÓÔØ Ë-Ì ÐÒÉÍÅÒÙ? > > > óÔÁÎÄÁÒÔ ÑÚÙËÁ ÒÁÂÏÔÕ Ó ÓÏËÅÔÁÍÉ ÎÅ ÏÐÒÅÄÅÌÑÅÔ. :) > > îÏ ÅÓÌÉ ÐÒÅÄÓÔÁ×ÉÔØ ÓÏËÅÔ ËÁË ÐÏÔÏË, ÔÏ ÐÅÒÅÏÐÒÅÄÅÌÑÑÑ ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ > ÁÔÒÉÂÕÔÙ 'Read, 'Write, 'Input, 'Output ÍÏÖÎÏ ÐÅÒÅÄÁ×ÉÔØ ÌÀÂÏÊ ÏÂßÅËÔ. > > > -- > Vadim Godunko þÔÏ Ñ ÂÅÚÕÓÐÅÛÎÏ É ÐÙÔÁÀÓØ ÓÄÅÌÁÔØ. ÷ ËÌÁÓÓÅ ÏÐÒÅÄÅÌÑÀ Ä×Á ÍÅÔÏÄÁ Write É Read, ÔÁË ËÁË ÜÔÏ ÏÐÉÓÁÎÏ ÚÄÅÓØ http://www.ada-ru.org/V-0. 3w/part_1/ch_11.html#s11.3 É ÐÏÓÙÌÁÀ ÏÂßÅËÔ × ÐÏÔÏË ... Channel := Stream (Socket); ... Empl:=New_Employee(1, name); Cemployee'Write(Channel, Empl); ... îÏ ÎÁ ÄÒÕÇÏÍ ËÏÎÃÅ ÎÉÞÅÇÏ ÎÉ ÞÉÔÁÅÔÓÑ ... Empl : Cemployee;.. Channel := Stream (Socket); ... Cemployee'Read(Channel, Empl); Why ?!
> äÕÍÁÀ ÌÕÞÛÅ ÐÅÒÅÄÁ×ÁÔØ ÄÁÎÎÙÅ ÓÏÄÅÒÖÁÝÉÅÓÑ × ÓÌÏÖÎÙÈ ÏÂßÅËÔÁÈ ÐÏÌØÚÕÑÓØ > ÆÏÒÍÁÔÏÍ XML. íÏÖÎÏ ÐÏ×ÅÒÈ HTTP. åÓÔØ ÞÔÏ ÐÏÞÉÔÁÔØ ÎÁ ÜÔÕ ÔÅÍÕ? (ÐÒÉÍÅÎÉÔÅÌØÎÏ Ë áÄÅ) > éÌÉ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÏÔÏËÏÌÁÍÉ ÕÄÁÌÅÎÎÏÇÏ ×ÙÚÏ×Á ÐÒÏÃÅÄÕÒ, ÌÉÂÏ á ÞÔÏ, × Ada É ÔÁËÏÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ. äÁÊÔÅ ÉÎÆÕ ÐÏÖÁÌÕÊÓÔÁ.
pkursovs wrote: > > Что я безуспешно и пытаюсь сделать. В классе определяю два метода > Write и Read, так как это описано здесь http://www.ada-ru.org/V-0. > 3w/part_1/ch_11.html#s11.3 и посылаю объект в поток > Выглядеть это должно где-то так: type A is ... procedure Read ... procedure Write ... for A'Read use Read; for A'Write use Write; А ещё лучше вышли свои исходники, дабы не гадать в чём дело. -- Vadim Godunko
pkursovs wrote: > >>Или воспользоваться протоколами удаленного вызова процедур, либо > > > А что, в Ada и такое поддерживается. Дайте инфу пожалуйста. > RM95 Annex E Distributed Systems Применительно к GNAT-3.15p см. GLADE-3.15p. -- Vadim Godunko
> Тогда не забудьте, пожалуйста, придумать интерфейс для рассматриваемого > случая. Ну я в рабочей группе участия не принимаю, если что нужно - давай сам лоббируй :)
--- In [email protected], Vadim Godunko <vgodunko@r...> wrote: > pkursovs wrote: > > > > þÔÏ Ñ ÂÅÚÕÓÐÅÛÎÏ É ÐÙÔÁÀÓØ ÓÄÅÌÁÔØ. ÷ ËÌÁÓÓÅ ÏÐÒÅÄÅÌÑÀ Ä×Á ÍÅÔÏÄÁ > > Write É Read, ÔÁË ËÁË ÜÔÏ ÏÐÉÓÁÎÏ ÚÄÅÓØ http://www.ada-ru.org/V-0. > > 3w/part_1/ch_11.html#s11.3 É ÐÏÓÙÌÁÀ ÏÂßÅËÔ × ÐÏÔÏË > > > ÷ÙÇÌÑÄÅÔØ ÜÔÏ ÄÏÌÖÎÏ ÇÄÅ-ÔÏ ÔÁË: > > type A is ... > > procedure Read ... > procedure Write ... > > for A'Read use Read; > for A'Write use Write; > > á ÅÝ£ ÌÕÞÛÅ ×ÙÛÌÉ Ó×ÏÉ ÉÓÈÏÄÎÉËÉ, ÄÁÂÙ ÎÅ ÇÁÄÁÔØ × Þ£Í ÄÅÌÏ. > > äÁÊÔÅ ÁÄÒÅÓÓ, ÐÏÖÁÌÕÊÓÔÁ.
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти