Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Именнованные каналы, как подключить несколько клиентов 
:(
    Опции темы
nogoody
Дата 5.11.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 12.9.2007
Где: Смоленск

Репутация: нет
Всего: нет



Проблема в следующем
Есть сервер именнованных каналов

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
//Создание события на сервере
   Evntserver:= CreateEvent(Nil, FALSE, FALSE, Nil);
   if EvntServer=0 then
   begin
      ShowMessageFmt('Ошибка %d при создании объекта событие',
        [GetLastError]);
      CloseHandle(PipeHandle);
      exit;
   end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Создание именованного канала
   PipeHandle:= CreateNamedPipe('\\.\Pipe\Jim', PIPE_ACCESS_DUPLEX or FILE_FLAG_OVERLAPPED,
                PIPE_TYPE_BYTE or PIPE_READMODE_BYTE or PIPE_NOWAIT, 3,0, 0, 1000, Nil);
    if PipeHandle= INVALID_HANDLE_VALUE then
    begin
        ShowMessageFmt('Ошибка %d при создании именованного канала',
            [GetLastError]);
        exit;
    end;
    ShowMessage('Сервер работает.Создайте клиента');
end;


так же описан клиент:

Код

procedure TForm1.Button2Click(Sender: TObject);
begin
  strcat(@pipe_Name,'\\.\Pipe\Jim');
  if WaitNamedPipe(@PIPE_NAME, NMPWAIT_WAIT_FOREVER) = False then
    begin
      ShowMessageFmt('Функция WaitNamedPipe завершена с ошибкой %d',[GetLastError]);
      exit;
    end;
      // Открытие экземпляра именованного канала
    PipeClient:=CreateFile(@PIPE_NAME,GENERIC_READ or GENERIC_WRITE, 0,

          Nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, 0);
     if PipeClient= INVALID_HANDLE_VALUE then
    begin
      ShowMessageFmt('Функция CreateFile завершена с ошибкой %d', [GetLastError]);
    end
    else ShowMessage('Клиент работает');
end;


Проблема в следующем, при запуске второго клиента, клиент зависает... как сделать, чтоб подключилось несколько клиентов...?

PM MAIL   Вверх
MetalFan
Дата 5.11.2007, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



а для чего создавался event?

Это сообщение отредактировал(а) MetalFan - 5.11.2007, 22:50


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
nogoody
Дата 5.11.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 12.9.2007
Где: Смоленск

Репутация: нет
Всего: нет



  evntserver: THANDLE; - Объект событие для организации работы функции ReadFile и WriteFile в неблокирующем режиме, далее будет реалезовано...

PM MAIL   Вверх
MetalFan
Дата 6.11.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



а почему размеры буферов по нулям?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.