Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сервер сокетов [D7]


Страницы:   1 2

alex_dorin ©   (2006-07-13 12:54:00) 

Подскажите сервер сокетов, который бы в отличие от борландовского
жестко привязывал
номер порта к GUID
или к ip-адресу отправителя
alex_dorin@rambler.ru


Сергей М.   (2006-07-24 08:45:00) [1]


> alex_dorin   (18.07.06 17:09) [9]
>
> Этот код ни разу не сработал, так как ShowMessage не вывалился
> ни разу!


Вызов ShowMessage() в дополнительном кодовом потоке не допустим.
Для целей отладки используй MessageBox().


alex_dorin   (2006-07-20 09:51:00) [2]

Господа Гуру !
 
  Подскажите код scktsrvr, что-бы сравнивать, полученный от тонкого клиента с GUID  с запомненным scktsrvr GUID.
alex_dorin@rambler.ru


Ketmar   (2006-07-19 22:34:00) [3]

кисо ещё и совсем глупое. logout сделало, а мыло оставило...


Аноним   (2006-07-19 17:42:00) [4]

Медведъ ты вася!!!


Ketmar   (2006-07-19 17:01:00) [5]

снова хамло понабежало. видимо, это неизбежно -- как приливы и отливы в море...


avram   (2006-07-19 14:18:00) [6]

Засунь их себе в ... и сам себе раскажи


Медведъ   (2006-07-19 14:16:00) [7]

я рад
готов предоставить тебе консалтинг
200$ в час без налогов


avram   (2006-07-19 13:26:00) [8]

Мне интересны больше твои вареанты


Медведъ   (2006-07-19 13:24:00) [9]

это код борланда
возможно у него есть другие варианты, напиши письмо в компанию


avram   (2006-07-19 13:07:00) [10]

Медведъ : "у меня работает" а еще вареантов кода у тебя есть или только этот который работает?


Медведъ   (2006-07-19 12:39:00) [11]

у меня работает


avram   (2006-07-19 12:17:00) [12]

Медведъ кроме тебя никто не знает как проверить GUID но твой вареант работать не будет!


Медведъ   (2006-07-18 17:13:00) [13]

бывает


alex_dorin   (2006-07-18 17:09:00) [14]

Этот код ни разу не сработал, так как ShowMessage не вывалился ни разу!

SConnect.pas

procedure TDataBlockInterpreter.InterpretData(const Data: IDataBlock);
var
Action: Integer;
begin
Action := Data.Signature;
if (Action and asMask) = asError then DoException(Data);
try
  case (Action and asMask) of
    asInvoke: DoInvoke(Data);
    asGetID: DoGetIDsOfNames(Data);
asCreateObject: DoCreateObject(Data);
....

procedure TDataBlockInterpreter.DoCreateObject(const Data: IDataBlock);
var
V: OleVariant;
VarFlags: TVarFlags;
I: Integer;
begin
V := CreateObject(ReadVariant(VarFlags, Data));

function TDataBlockInterpreter.CreateObject(const Name: string): OleVariant;
var
ClassID: TGUID;
begin
if (Name[1] = '{') and (Name[Length(Name)] = '}') then
  ClassID := StringToGUID(Name) else
  ClassID := ProgIDToClassID(Name);
if CanCreateObject(ClassID) then
  Result := InternalCreateObject(ClassID) else
  raise Exception.CreateResFmt(@SObjectNotAvailable, [GuidToString(ClassID)]);
end;


Медведъ   (2006-07-18 09:41:00) [15]

SConnect.pas

procedure TDataBlockInterpreter.InterpretData(const Data: IDataBlock);
var
 Action: Integer;
begin
 Action := Data.Signature;
 if (Action and asMask) = asError then DoException(Data);
 try
   case (Action and asMask) of
     asInvoke: DoInvoke(Data);
     asGetID: DoGetIDsOfNames(Data);
asCreateObject: DoCreateObject(Data);
....

procedure TDataBlockInterpreter.DoCreateObject(const Data: IDataBlock);
var
 V: OleVariant;
 VarFlags: TVarFlags;
 I: Integer;
begin
 V := CreateObject(ReadVariant(VarFlags, Data));

function TDataBlockInterpreter.CreateObject(const Name: string): OleVariant;
var
 ClassID: TGUID;
begin
 if (Name[1] = '{') and (Name[Length(Name)] = '}') then
   ClassID := StringToGUID(Name) else
   ClassID := ProgIDToClassID(Name);
 if CanCreateObject(ClassID) then
   Result := InternalCreateObject(ClassID) else
   raise Exception.CreateResFmt(@SObjectNotAvailable, [GuidToString(ClassID)]);
end;


umbra   (2006-07-17 18:33:00) [16]


> в какой функции scktsrvr  можно сделать проверку принятого
> от клиента GUID ?

а что это за GUID такой? если это идентификатор СОМ-интерфейса, то никакого отношения к сокетам он не имеет, и ответ на ваш вопрос - ни в какой. Нет такой функции и в любом другом "сервере сокетов".


isasa   (2006-07-17 18:09:00) [17]

alex_dorin   (17.07.06 18:02) [5]
Стало интересно.
На предмет чего его проверять. Наличия отсутствия, или чего ?


alex_dorin   (2006-07-17 18:02:00) [18]

Алло Гуру !

  в какой функции scktsrvr  можно сделать проверку принятого от клиента
GUID ?
alex_dorin@rambler.ru


medved_68   (2006-07-13 16:51:00) [19]


> жестко привязывал
> номер порта к GUID
> или к ip-адресу отправителя

Вау, круто.


Альф   (2006-07-13 13:59:00) [20]

Исходники scktsrvr.exe лежат Delphi\Source\Vcl...
Никто не мешает...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо