Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.028 c
15-1163802090
lookin
2006-11-18 01:21
2006.12.10
Реформа РАН и прочее


6-1152805949
Георгий А.
2006-07-13 19:52
2006.12.10
Как заставить перегрузиться сетевую карту


15-1164215051
Сэм
2006-11-22 20:04
2006.12.10
DDR 1024Mb PC 3200 SAMSUNG


2-1164192623
pyJIoH
2006-11-22 13:50
2006.12.10
Юникод. Сигнатура UTF-8.


2-1164362132
TIF
2006-11-24 12:55
2006.12.10
Глубокоуважаемый штрих код




   Наверх