Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Jak wykonywać broadcasting adresu IP??
grigor80




Typ: neutral
Postów: 7
Zarejestrowany: Oct 2004
Jak wykonywać broadcasting adresu IP??

Stworzyłem aplikację serwera i klienta. Chciałbym przez Winsocka rozgłaszać w sieci adres IP serwera, aby każdy klient go dostał i potem mógł się do niego podłączyć. Czy ktoś z Was już robił coś takiego? Dodam, że używam protokołu TCP a nie UDP (ale proszę o informacje również o UDP). Będę wdzięczny za jakąkolwiek pomoc i wskazówki.

26-10-2004 14:18
Pokaż profil grigor80  Wyślij email do grigor80   Odwiedź stronę grigor80       2123345
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Z tego co wiem - nie da się przez TCP wypuścić nic na broadcast. jest to całkiem logiczne - przecież nie możesz wysłać jednej prośby o połączenie do np. 40 maszyn . Natomiast pewnie da się to zrobić przez UDP. Jeśli używasz Winsocka (API, nie kontrolki), to masz tam do dyspozycji także typ RAW (kontrolka go nie udostępnia). Przy jego pomocy też powinno się dać wysyłać informacje do wszystkich komputerów.
Jednak to tylko teoria, nigdy w praktyce nic nie wysyłałem w ten sposób .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

27-10-2004 00:36
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
grigor80




Typ: neutral
Postów: 7
Zarejestrowany: Oct 2004

hmm szkoda, że nie mogę przez kontrolkę... To by mi wiele ułatwiło... Ale dzięki za pomoc, chociaż "teoretyczną"...

27-10-2004 00:48
Pokaż profil grigor80  Wyślij email do grigor80   Odwiedź stronę grigor80       2123345
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Wszystko, co jest przed "Jeśli używasz Winsocka (API, nie kontrolki)" dotyczy kontrolki, więc możesz - własnie przez UDP.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

27-10-2004 17:37
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
grigor80




Typ: neutral
Postów: 7
Zarejestrowany: Oct 2004

Zgadza się. Zrobiłem coś takiego:
dla serwera:


Private Sub Command1_Click()
Dim msg
 
  Winsock1.SendData ip
 
End Sub

Private Sub Form_Load()
  ip = Winsock1.LocalIP
  Winsock1.Bind 300
 
End Sub

dla klienta

Private Sub Form_Load()
  Winsock1.Bind 301
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

  Winsock1.GetData msg
  Text1 = msg

 
End Sub



Jednak trzeba tu podawać port na który wysyłamy a jak jest kilka klientów włączonych to inne się konfliktują...

Ale mam z tym zgryz... :/

27-10-2004 17:48
Pokaż profil grigor80  Wyślij email do grigor80   Odwiedź stronę grigor80       2123345
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Chodzi ci o to, że porty twoich klientów są już przez coś używane? Jeśli tak, to spróbuj podac jakiś inny port. Najlepiej tych o wyższych numerach.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

27-10-2004 17:57
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
anonim




Typ: Nie zarejestrowany

Jak dobrze pamietam to na broadcast wysyla sie przez UDP na ip 255.255.255.255

30-10-2004 16:21
  
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1