Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

сервер сокетов   Найти похожие ветки 

 
alex_dorin   (2006-07-13 12:54) [0]

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


 
Fay ©   (2006-07-13 13:19) [1]

Чё?!


 
DVM ©   (2006-07-13 13:20) [2]


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

это как?


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

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


 
medved_68 ©   (2006-07-13 16:51) [4]


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

Вау, круто.


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

Алло Гуру !

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


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

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


 
umbra ©   (2006-07-17 18:33) [7]


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

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


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

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;


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

Этот код ни разу не сработал, так как 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 17:13) [10]

бывает


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

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


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

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


 
avram ©   (2006-07-19 13:07) [13]

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


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

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


 
avram ©   (2006-07-19 13:26) [15]

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


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

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


 
avram ©   (2006-07-19 14:18) [17]

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


 
Ketmar ©   (2006-07-19 17:01) [18]

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


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

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


 
Ketmar ©   (2006-07-19 22:34) [20]

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


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

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


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


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


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



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.039 c
15-1164019936
Cyrax
2006-11-20 13:52
2006.12.10
Имеет ли C преимущества перед C++ в системном программировании


15-1164126797
Ламот
2006-11-21 19:33
2006.12.10
КПК + Приближающиеся морозы...


2-1164247598
uleess
2006-11-23 05:06
2006.12.10
Необходим дозвоньшик в интернет уневерсальный! Для Win98 и WinXP


6-1153716134
Kacnep
2006-07-24 08:42
2006.12.10
Indy предварительная проверка на разрешенные IP для подключения


15-1163794567
Витян
2006-11-17 23:16
2006.12.10
Микроконтроллер ATmega16