Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1164277824
mkmkm
2006-11-23 13:30
2006.12.10
Console + TNotifyEvent (... of Object)


2-1164184870
vitv
2006-11-22 11:41
2006.12.10
Миграция с InterBase 6.1


15-1164165372
Slider007
2006-11-22 06:16
2006.12.10
С днем рождения ! 22 ноября


2-1164489332
kami
2006-11-26 00:15
2006.12.10
Потокобезопасность TStringList


1-1162220311
312kbps
2006-10-30 17:58
2006.12.10
Снять Hook. Критические ошибки ((((





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский