На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> LanChat , Чат
    в GlobusLib в общем ничего сложного, но я ждал большего... У меня такой вопрос(ы) : Это через эту службу работает Winpopup ? А то я как-то никогда не видел чтоб один был сервером а второй клиентом, или у всех оба запущены? Если так, то какой смысл использовать GlobusLib, если можно обойтись API, Client(Server)Socket'ами. А вообще я прогу видел у друга в общаге, даже не одну, которая рассылает сообщения как Winpopup и получает вроде как единый стандарт обмена сообщениями.
      >Diamond - прочитай все-таки ZEE Сообщ. #14 от 25.12.03, 10:43 - может станет яснее...
        Цитата

        Diamond от 28.12.03, 08:58
        В GlobusLib в общем ничего сложного, но я ждал большего... У меня такой вопрос(ы) : Это через эту службу работает Winpopup ? А то я как-то никогда не видел чтоб один был сервером а второй клиентом, или у всех оба запущены? Если так, то какой смысл использовать GlobusLib, если можно обойтись API, Client(Server)Socket'ами. А вообще я прогу видел у друга в общаге, даже не одну, которая рассылает сообщения как Winpopup и получает вроде как единый стандарт обмена сообщениями.


        Я разобрался полность в GlobusLib! Охрененная вещь! Очень простая!

        Работа компонента MailslotTerminal >
        > Создаётся лиия передачи данных

        Он (компонент) читает из этой линии массаги, и отправляетт"

        /// Изменены названия, чтобы было понятно

        Здесь нет ни клиента ни сервера. Программа работает как клиент, а сервером выступает та самая линия!

        // Эсли что нетак - обоснуйте // ^)

        Такой вопросик
        > Как узнать свой IP адресс в локальной сети
        // Мне нужна проседура типа
        ExpandedWrap disabled
          procedure GetIpAdress:string
        и никокая другая типа введи имя домена и получишь Ипок!



        // Скоро появится релизная версия чата

        Добавлено в :
        Да и ещё как отправить файл (или папку) по локалке с програссом копирования!
          вот че-то похожее есть
          http://eef.ispu.ru/sitestud/sav/uddf/pages...rk.htm#network4
          тока не стринг получается, а лонгинт...
            Цитата
            ZEE от 29.12.03, 13:17
            вот че-то похожее есть
            http://eef.ispu.ru/sitestud/sav/uddf/pages...rk.htm#network4
            тока не стринг получается, а лонгинт...


            Использовал пример! Сети нет а выдал другой адресс (не 127.0.0.1) да и ещё без точек, а раставлять самим невозможно тк строку вида 164001002003 не выдеёт! Это неудобно! Есть ли ещё какой-ни-дь пример

            Да и ещё

            Цитата
            Да и ещё как отправить файл (или папку) по локалке с програссом копирования!



            Всех с новым годом ;) :mellow: ;) ;) ;)
              Вот что меня интересует: Mailslot - альтернатива winpopup или он ее и использует?
                на счет определения своего IP
                ниже приведу две ф-ции - если их вызвать так
                result:=GetIPByHostName(GetHostNameByIP(''))
                то в результат выдаст как раз свой IP

                ExpandedWrap disabled
                  function GetHostNameByIP(IP:PChar):string;
                  var wVersionRequested : WORD;
                      wsaData : TWSAData;
                      Addr: LongWord;
                      p: PHostEnt;
                  begin
                    result:='?';
                    wVersionRequested := MAKEWORD(1, 1);
                    WSAStartup(wVersionRequested, wsaData);
                    Addr:=inet_addr(IP);
                    p:=GetHostByAddr(@Addr,128,AF_INET);
                    WSACleanup;
                    if p<>nil then result:=p^.h_Name;
                  end;
                   
                  function GetIPByHostName(const dn:string):string;
                  type TaPInAddr = array[0..250] of PInAddr;
                       PaPInAddr = ^TaPInAddr;
                  var r: PHostEnt;
                      wsaData: TWSAData;
                      pptr: PaPInAddr;
                      i: integer;
                      s: string;
                  begin
                    WSAStartup($0101, wsaData);
                    r:=gethostbyname(PChar(dn));
                    if r=nil then
                    begin
                      result:='?';
                      exit;
                    end;
                    pptr:=PaPInAddr(r^.h_addr_list);
                    i:=0;
                    while pptr^[i]<>nil do
                    begin
                      s:=inet_ntoa(pptr^[0]^);
                      inc(i);
                    end;
                    WSACleanup;
                    result:=s;
                  end;


                зы: ф-ции писались когда-то давно - если покажутся слегка корявые - то извините...

                Добавлено в :
                млин, чуть не забыл uses WinSock;
                  А у меня другой вопрос:
                  пишу что-то вроде чата, но не хочется забивать трафик.....при посылке сообщения с сервера он посылается на все соединения...а хотелось бы чтобы посылалось именно выбранному адресату.....как это лучше сделать....привязка к IP или может имя компьютера...и как это реализовать
                    Цитата
                    Invader, 19.01.04, 16:31
                    пишу что-то вроде чата, но не хочется забивать трафик.....при посылке сообщения с сервера он посылается на все соединения...а хотелось бы чтобы посылалось именно выбранному адресату.....как это лучше сделать

                    что ж это за чат такой который всем отправляет? надож отсылать на конктерное соединение (ServerSocket1.Socket.Connections[<номер соединения>]) это если через сокеты - хотя я наверно делал бы через слоты...
                      люди а как релизовать массовую расылку через Клиент Сокет если на других машинах уже открыт Сервер Сокет?
                        Цитата
                        люди а как релизовать массовую расылку через Клиент Сокет если на других машинах уже открыт Сервер Сокет?


                        Я делал так: Один сервер - все остальные клиенты. Все клиенты шлют серверу, сервер рассылает всем.
                        Потом я от этой схемы отказался ибо глюкаво и медленно. Сейчас юзаю mailslot. Вроде удобно.
                        Хотя сам не знаю как с его помощь послать сообщение WinPopup'у да и в инете по IP он тоже вроде не пашет.
                          Цитата
                          Diamond, 20.01.04, 02:15
                          Хотя сам не знаю как с его помощь послать сообщение WinPopup'у

                          через \MAILSLOT\MESSNGR (уже кажись писАл)
                          Цитата
                          Diamond, 20.01.04, 02:15
                          и в инете по IP он тоже вроде не пашет

                          да не пашет - это локально-сетевая фишка...
                            ZEE,
                            Цитата
                            ServerSocket1.Socket.Connections[<номер соединения>]

                            я так и делаю......ой а че это я тогда тему поднял :huh:
                            то есть сервер получает сообщение от клиента, запоминает его номер, а потом выдает ответ на этот же номер.....так чтоли?!
                            ну я что-то торможу в последнее время...все...все...надо ночью спать :D
                              Цитата
                              сервер получает сообщение от клиента, запоминает его номер, а потом выдает ответ на этот же номер


                              Ну и что? Или клиент своих сообений не должен видеть? Заодно и проверяешь дошло сообщение до сервера или нет. Траффик конечно забиваеться, но если это не критично, то можно сделать и так.
                                Diamond,
                                меня другое волнует...не знаю как сделать так чтобы сервер знал номер клиента...допустим почти одновременно присоединились несколько клиентов...каждому надо разослать сообщение но незнаю как узнать номера соединения для определенного клиента
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.0848 ]   [ 15 queries used ]   [ Generated: 22.09.26, 17:02 GMT ]