Главная страница
    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.044 c
2-1163938652
YesWa=>rOFF
2006-11-19 15:17
2006.12.10
Ошибка


2-1164276706
Fostr
2006-11-23 13:11
2006.12.10
Syntax Error (Missing operator) in Query expression


15-1163932457
AlexanderMS
2006-11-19 13:34
2006.12.10
ToolBar на WinApi.


15-1164106468
zdm
2006-11-21 13:54
2006.12.10
IDSmtp


2-1163956876
Alians
2006-11-19 20:21
2006.12.10
GetMem для массива





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский