Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Как послать сообщение по сети?


Автор: Quadruple 28.3.2005, 14:21
Можно ли как-нибудь послать сообщение с одного компа на другой smile , но чтоб на том компе (на который посылается) небыло проги которая примет сообщение и покажет юзверю. Т.е. я напишу прогу которая отсылает сообщене по локалке на IP (или имя) указанный мной, а когда сообщение дойдет до указанного компа, то там покажется MessageBox с моим сообщением. smile

Автор: DENNN 28.3.2005, 15:35
Через NetBIOS, если на том компе он включен.
В консоле обычно так:
Код

net send ......

Автор: Quadruple 28.3.2005, 16:06
DENNN
Big thanks! smile

Автор: jorkug 28.3.2005, 16:09
Цитата(Quadruple @ 28.3.2005, 14:21)
небыло проги которая примет сообщение

Проги не может не быть, кто-то то должен выводить MessageBox на том компе. Но можно и

Цитата
Через NetBIOS, если на том компе он включен.

"net send ComputerName "message" "
или "C:\Windows\system32\net.exe ComputerName "message" "

Автор: Guest 27.4.2005, 15:30
Есть такая прекрасная вещь как mailslot, это сетевой протокол, по которомы вы отправлете и получаете сообщение через средства виндовза, иными словами, в винде есть служба сообщений, которая руководит делом принятия сообщения через майлслот. Если ты пишешь свою програмулину, которая будет получать сообщения, то тебе придется выключить эту службу. Списки всех служб находятся в папке администратирование, в панели упраления. Если ты пишешь програмулину для того чтобы просто отправить сообщение, то службу отрубать не обязательно, т.к. на отсылку она не играет роли. Если вы пишите программу отправки, то прощу вас, не извращайтесь типа shellexecute('net send computer message',sw_hide|sw_normal), есть стандартная функция createfile(), которая хоть и называется создать_файл, но работает по принцыпу - "а кому бы мне отправить месагу на майл слот".
Отредактировано модератором!
Уважаемый гость!Надо быть вежливым!

Автор: GreenByte 12.6.2005, 18:05
хотелось бы увидеть smile
код, желательно на С++ smile
заранее спасибо=)

Автор: dmit10 10.9.2005, 13:33
Тот же вопрос, но с условием ОС=Linux.

Автор: Мурлыкатам_ 16.5.2007, 01:56
http://www.firststeps.ru/mfc/winapi/r.php?154
очень хороший сайт, я в восторге от него.
правда даже с помощью этого сайта у мя не получается на winApi написать чат (курсовая)...

Винда создает служебный мэйл слот messngr, туда с помощью средств апи очень легко положить сообщение, и если служба сообщений включена на удаленном компе, то он получит это сообщение,
реализуется так:

Код

HANDLE hf=NULL;
    hf=CreateFile("\\\\*\\mailslot\\messngr",GENERIC_WRITE,
        FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    if (hf!=INVALID_HANDLE_VALUE)
    {
        cout << "Ok Open" << endl;
        char buffer[255];
        strcpy(buffer,"hello mail slot");
        DWORD dwwr;
        if (WriteFile(hf,&buffer,strlen(buffer),&dwwr,NULL)!=0)
        {
            cout << "OK Write" << endl;
        }
    }

пример взят с сайта: http://www.firststeps.ru/mfc/winapi/r.php?156
Это будет брудкастовое сообщение на все компьютеры домена со включенной службой сообщений.
Если надо послать определенному компу, то вместо * пишеться имя компа.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)