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

Вниз

Почему нет конекта ?   Найти похожие ветки 

 
KyRo   (2006-11-16 15:12) [0]

Подскажите почему я не могу подканектится .

Вот код

// Cоздаем клиент
    ClientIMg:=TClientSocket.Create(nil);
    ClientIMG.OnWrite:=ClientWrite;
    ClientIMG.OnError:=ClientError;
    ClientImg.OnConnect:=ClientConnect;
    Clientimg.ClientType:=ctNonBlocking;
    DelSpacesUn(ipclientIMG);
    Clientimg.Address:=ipclientIMG;
    Clientimg.Port:=50017;
   try
    Clientimg.Active:=True;
   Except
    ADOQUERY.Free;
    DBCONNECT.Free;
    Clientimg.Free;
    Result:=False;
    Exit;
   end;


Создаю  его  в нити  
Обработчик коннекта

procedure TImgLoadThread.ClientConnect(Sender: TObject;  Socket: TCustomWinSocket);
  begin
    if Clientimg.Socket.Connected
       then
         begin
          try
           Clientimg.Socket.SendText("LoadIm:"+IntToStr(LoadFile.Count-1)+":"+IntToStr(50020+StrToInt(Nomer)));
          Finally
           ClientImg.Socket.Close;
          end;
         end;
  end;


А вот так я объявляю этот обработчик


TImgLoadThread = class(TThread)
 private
   { Private declarations }
 protected
   procedure Execute; override;
   procedure ClientError(Sender: TObject; Socket: TCustomWinSocket ;ErrorEvent: TErrorEvent;
   var ErrorCode: Integer);
   procedure ClientWrite(Sender: TObject; Socket: TCustomWinSocket);
   procedure ServerClientError(Sender: TObject;Socket: TCustomWinSocket;
   ErrorEvent: TErrorEvent; var ErrorCode: Integer);
   procedure ServerClientRead(Sender: TObject;  Socket: TCustomWinSocket);
   procedure TimerServerWorkOnTimer(Sender: TObject);
   procedure ClientConnect(Sender: TObject;  Socket: TCustomWinSocket);
 public
    constructor Create(CreateSuspennded: Boolean; const NomHread:string);
 end;


Подскажите почему не происходит конект. и я не могу послать текст на сервер ?


 
Сергей М. ©   (2006-11-16 15:14) [1]


> Создаю  его  в нити


Из приведенного кода это вовсе не очевидно.


 
KyRo   (2006-11-16 15:29) [2]

В том то и дело что больше ничего нет.
Есть программа сервер который запущен 100 % на этом адресе и
порте 50017.

Есть два клиента один который лежит на форме и он работает если через него слать команды.Он конектится на этот же порт этого ай пи.

И есть второй клиент который я создаю в нити(Код выше). И вот  
когда я делаю
Clientimg.Active:=True;

То событие ClientImg.OnConnect:=ClientConnect; не происходит .
А если поставить BreakPoint на строке что идет после
Clientimg.Active:=True; то я вижу что он не стал True а остался в False.

Из за чего такое может случится ???


 
Сергей М. ©   (2006-11-17 08:26) [3]


> Из за чего такое может случится ???


Из-за отсутствия цикла ожидания/выборки/диспетчеризации оконных сообщений.


 
medved_68 ©   (2006-11-17 10:08) [4]


> И есть второй клиент который я создаю в нити(Код выше).
> И вот  
> когда я делаю
> Clientimg.Active:=True;
>
> То событие ClientImg.OnConnect:=ClientConnect; не происходит
> .

А что говорит по этому поводу сервер??? Точнее свойство Socket.ActiveConnections??? Оно при коннекте увеличивается на 1???


 
Сергей М. ©   (2006-11-17 10:10) [5]


> medved_68 ©   (17.11.06 10:08) [4]
>
>


> Оно при коннекте увеличивается на 1?


С какого перепугу оно увеличится ?
Цикла-то нет ...
При stNonBlocking на обработке оконных событий завязано абсолютно все, в т.ч. и состояние списка ActiveConnections



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

Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.068 c
2-1163602406
maxXP
2006-11-15 17:53
2006.12.03
Выделение целой строки StringGrid


15-1163179338
Горгер
2006-11-10 20:22
2006.12.03
Почему Орешник не обновляется?


15-1163494338
Calibr
2006-11-14 11:52
2006.12.03
Порт сети?


2-1163253797
C@N
2006-11-11 17:03
2006.12.03
Ключи реестра на автозапуск программы


6-1152536756
Ал
2006-07-10 17:05
2006.12.03
Синхронизация часов





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