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

Вниз

Извините что вопрос немного не в тему UDP   Найти похожие ветки 

 
Romych   (2002-10-24 12:26) [0]

Скиньте пожалуйста примерчик как послать получить широковещательное сообщение по сети с помощю Udp, InDy, ICS а то в форуме по сетях НИКТО не скажет как это далать, а просто критикуют может кто знает ссылку в Интернете на статью. А то я нашел ссылку где посылаю сообщение с помощью АПИ а ловлю UDP но в этом случае очень большие потери.


 
:)   (2002-10-24 12:29) [1]

меня сей вопрос тож интересует ...
помогайте кто знает чё там и куда :)


 
Romych   (2002-10-24 12:57) [2]

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


 
Digitman   (2002-10-24 13:04) [3]

>>с помощью АПИ ...очень большие потери

А ты считаешь, компонеты все эти минуя WinsockAPI выполняют бродкаст ?


 
romych   (2002-10-25 00:59) [4]

Не заю, но в конференции по сетях сказали чо таких потерь быть не должно, и что я делаю не правильно, а как правильно никто не сказал :)


 
Digitman   (2002-10-25 11:29) [5]


> что я делаю не правильно


А что ты вообще делаешь ? Код-то приведи


 
romych   (2002-10-25 13:06) [6]

Кодом со мной поделились :)

unit Unit1;

interface

uses
Windows, SysUtils, Forms,
Classes, Controls, Buttons, NMUDP, ExtCtrls, Grids, Dialogs,
StdCtrls, strgrdex, ScktComp, Menus;

procedure TForm1.FormCreate(Sender: TObject);
begin
NMUDP1.LocalPort := 6767;
end;

procedure TForm1.NMUDP1DataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
Var
sb : String;
j, i : Integer;
begin
NMUDP1.ReadBuffer(stArr, i);
SB:=StringOfChar(" ", NumberBytes);
For j:=1 to NumberBytes do sb[j]:=stArr[j];
Memo1.Lines.Add(sb);
Buffer:=Buffer+SB;
end;


procedure TForm1.VykonatyKomandu(s : str4);
var
Init :TWSAData;
SockOpt :BOOL;
Sock :TSocket;
Target :TSockAddrIn;
//
stData, LineMemo, Komu : String;
DataBytes : Word;
i , j, LenStr, KodKom : Word;
KodS : Byte;
begin
WSAStartup( $101,Init );
Sock := Socket( PF_INET, SOCK_DGRAM, IPPROTO_UDP );
SockOpt := TRUE;
SetSockOpt( Sock, SOL_SOCKET, SO_BROADCAST, PChar(@SockOpt), SizeOf(SockOpt) );
//
Target.sin_port := htons( 6767 );//номер порта
Target.sin_addr.S_addr := INADDR_BROADCAST;
Target.sa_family := AF_INET;
//
stData:="<"+MyNic+";"+MyIp+";"+Komu+";"+s+";"+IntToStr(KodKom)+";>";
//
DataBytes := Length( stData );
//
for i:= 1 to DataBytes do
begin
stArr[ i ] := stData[ i ];
end;
SendTo( Sock, stArr, DataBytes, 0, Target, SizeOf(Target) );
//
WSACleanup;
end;



end.


 
Digitman   (2002-10-25 13:32) [7]

где анализ результата, возвращаемого ф-цией SendTo() ?


 
romych   (2002-10-25 21:27) [8]

Как его анализировать?


 
Wonder   (2002-10-25 21:39) [9]

Return Value
If no error occurs, sendto() returns the total number of characters sent. (Note that this may be less than the number indicated by len.) Otherwise, a value of SOCKET_ERROR is returned, and a specific error code may be retrieved by calling WSAGetLastError().

Неужели так трудно посмотреть документацию?


 
Malder   (2002-10-27 13:11) [10]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1035216263&n=4



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
1-74833
Danger
2002-12-11 23:38
2002.12.23
Как сгенерить 14-значное цеолое число


3-74623
Nickb hmkgfkuuyhgkl
2002-12-04 04:36
2002.12.23
Как сделать, чтобы в DBgrid при скролинге НЕ перемешался курсор Б


1-74635
bambina
2002-12-12 13:12
2002.12.23
TTreeview


1-74776
ДмитрийК.
2002-12-11 10:38
2002.12.23
Создание компонентов в runtime и перемещение их по форме


7-75005
ThermiT
2002-10-20 09:32
2002.12.23
Программа при загрузке





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