[Winsock] Veel keer luisteren op zelfde poort ?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Ik heb nu al redelijk wat ervaring met Microsoft Winsock TCP/IP programmeren, en het is ongeloofelijk leuk :)

Ik kan nu reeds client-server en multi client server .
Nu ben ik aan de laatste uitdaging toe Peer 2 Peer programmeren.

Ik denk dat ik het wel zal kunnen maar ben op 1 onoplosbaar probleem gestuit : elke p2p applicatie is een server, en om een Winsock applicatie te testen draai je alles op localhost. Met client server geen probleem omdat je dan maar 1 server op een bepaalde poort hebt staan.

Maar nu dus niet. Nu heb je elk programma op dezelfde poort staan luisteren wat dus niet kan. Ik ZOU omzeil code kunnen schrijven, maar dat is een GRUWELIJKE hoeveelheid werkt die de functionaliteit inboet, geen betrouwbare debug resultaten levert en in de praktijt totaal overbodig is !

Nu is dus de vraag. Kan ik met een of andere prgramma/driver meerdere virtuele IP's op mijn computer draaien. Dus dat ik bijvoorbeeld 10 IP's krijg die enkel op mijn machine bestaan ? Dat heeft geen reeël nut behalve dat ik dan mijn P2P programma kan testen.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 29-04 23:48

dusty

Y! Celebrate Life!

Hangt van je OS af.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Anoniem: 36226

Ik snap het. Maar een p2p is toch pas een server, als ie iets gaat doen? Dat krijg je dus als A bijv. een bestand naar B wil sturen, terwijl B een bestand naar A stuurt.

MSN Messenger lost dit volgens mij op, door een range poorten te gebruiken om bestanden up te loaden.

Is VMWare geen optie?

En trouwens, IIS kan meerdere IP's hosten, dus waarom jij niet (vraag mij ff niet hoe het moet).

Ik hoop dat je er wat aan hebt. Weet je trouwens hoe je een TCP/IP verbinding kunt "afluisteren" (noem het meeluisteren). Ik wil nl. een programma als MSN Spy maken, maar dan zonder die proxy-implementatie.

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Ja aan VMWare heb ik idd ook al gedacht, maar dan moet ik minstens 3 Windowsen tegelijk draaien, das zelfs voor mij systeem zware koek.
Via een kleine driver moet dit toch te doen zijn ?

ik dacht aan 127.0.0.2 127.0.0.3 ... ?

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Op vrijdag 07 december 2001 15:50 schreef dusty het volgende:
Hangt van je OS af.
Windows 2000 SP2.

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 29-04 23:48

dusty

Y! Celebrate Life!

Op vrijdag 07 december 2001 16:03 schreef XTerm89D het volgende:
Windows 2000 SP2.
Zal vast in de network properties staan >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Ik denk dat het iets met Wins te maken heeft maar ik kan er echt niet aan uit ...
Het is toch niet zo moeilijk dacht ik ?

Acties:
  • 0 Henk 'm!

Anoniem: 36226

Wellicht met twee netwerkkaarten en een crosscable?

Is wel zo gemakkelijk, want dan hoef je na het testen niet meer de software terug te bouwen?

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Ik kan idd 2 NIC's verbinden met crosscable; maar dat is ook weer niet realistisch want een p2p netwerk is bedoelt om zeer groot te zijn en ik noem 2 p2p clients nu niet echt groot :)

Wat ik wil is toch echt niet onmogelijk, gewoon een aantal virtuele IP's die enkel vanaf mijn pc te benaderen vallen...

Acties:
  • 0 Henk 'm!

Anoniem: 36226

Gebruik je winsock2? Kun je dan niet met bind een ander ip-nummer kiezen of zo?

Het kan wel, want dit component zegt meer ip-adressen aan te kunnen.

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Op vrijdag 07 december 2001 20:35 schreef Doekman het volgende:
Gebruik je winsock2? Kun je dan niet met bind een ander ip-nummer kiezen of zo?
Ja dat wéét ik :) Dat is net wat ik wil doen, maar daarvoor heb je meerdere IP's op je PC nodig.

Acties:
  • 0 Henk 'm!

Anoniem: 38864

Zeeeer simpele oplossing :)

Waarom moeilijk doen?

Zet een winsock control op je form. Geef dit index 0.
bij een connection_request maak je een nieuwe winsock control (load blablabla). accepteer de connectie op DIE control & laat die met index 0 voort luisteren.
bij sluiten van die 2e control, unload die wel (anders krijg je wel een paar toffe fouten!)

Indien nog niet duidelijk: ask maar over icq: 35217584

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-05 21:14
Is het echt zo moeilijk om tijdens het bouwen twee keer een messagebox op te laten komen? De eerste die vraagt wat de server socket is, de tweede naar welke socket hij moet connecten. Zodoende kun je dus de standaard poort a laten wijken van wat ie normaal is.

Klei dit in een debug define en zorg dat je waarden daarvoor hun waarde krijgen.

Klaar ben je, tijdens debuggen kun je bepalen op welke poorten iets moet connecten en luisteren.

Maar euh, zowiezo, het is slecht om hardcoded totaal onconfigureerbaar vast te leggen op welke poorten je wil communiceren. Dit moet je eigenlijk alleen doen als je zeker weet dat een andere opplicatie de poort ook niet standaard gebruikt en dat komt erg weinig voor.

Acties:
  • 0 Henk 'm!

Anoniem: 33423

ik dacht aan 127.0.0.2 127.0.0.3 ... ?
Laat deze post maar zitten, je vraag heb ik verkeerd gelezen. Sorry :+


Misschien heb ik het verkeerd begrepen, maar 127.x.x.x is toch gereserveerd voor de machine zelf (localhost) en niet voor ip-adressen van je LAN-netwerk?

Kan je niet een poort reserveren waarmee je bijvoorbeeld een andere poort kan reserveren, zeg maar zoiets als bij FTP ook gedaan is.

Bijvoorbeeld: peer1 -> vraagt gegevens aan peer2 (poort x). peer2 gaat luisteren aan een nieuwe socket (y) en stuurt dit nummer via x door naar peer1. Peer1 openent een connectie met y om de gegevens vandaan te halen. Dit process kan je ook omdraaien (peer1 <-> peer2).

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op vrijdag 07 december 2001 20:02 schreef XTerm89D het volgende:
Ik kan idd 2 NIC's verbinden met crosscable; maar dat is ook weer niet realistisch want een p2p netwerk is bedoelt om zeer groot te zijn en ik noem 2 p2p clients nu niet echt groot :)
Het gaat toch om het testen?
Is 2 IPs op een machine wel realistisch dan?

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op zaterdag 08 december 2001 03:21 schreef The - DDD het volgende:
Maar euh, zowiezo, het is slecht om hardcoded totaal onconfigureerbaar vast te leggen op welke poorten je wil communiceren. Dit moet je eigenlijk alleen doen als je zeker weet dat een andere opplicatie de poort ook niet standaard gebruikt en dat komt erg weinig voor.
Maar dan kun je geen 100% p2p netwerk bouwen, want dan kun je de andere peers niet vinden.

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
IDD, als ik alles met code omzeil,dat is niet alleen zeer moeilijk, maar ook totaal niet meer realistisch, want als je het in de praktijk gebruikt, komt het NOOIT voor dat je 2x op dezelfde poort luisterd, enkel bij het debuggen heb je dat nodig.
Overlaatst vroeg ik aan iemand dezelfde vraag en die zij dat het met WINS & een 3de party application mogelijk was om gewoon meerdere virtuele IP's te hebben.
Als ik echt niets vind dan gebruik ik wel VMWare maar dat is echt een zware pest om daar met te zitten debuggen denk ik.

Acties:
  • 0 Henk 'm!

Anoniem: 33423

Als je p2p werkt met meerdere ip-adressen, dan moet je toch ook ergens de ip adressen bijhouden? (anders kan de ene peer de andere niet vinden). Dus wat is dan het verschil met hetzelfde ip-adres en andere poorten?

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op zaterdag 08 december 2001 14:00 schreef lnfinitive het volgende:
Als je p2p werkt met meerdere ip-adressen, dan moet je toch ook ergens de ip adressen bijhouden? (anders kan de ene peer de andere niet vinden). Dus wat is dan het verschil met hetzelfde ip-adres en andere poorten?
Een poort zou telkens kunnen veranderen van een app, een IP adres niet (zo vaak).
Maar volledig p2p is het dus ook niet als ergens de IP adressen worden bijgehouden.

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Op zaterdag 08 december 2001 13:51 schreef XTerm89D het volgende:
Overlaatst vroeg ik aan iemand dezelfde vraag en die zij dat het met WINS & een 3de party application mogelijk was
Je hebt toch ook in Windows de lokale interface? Dan kun je die toch voor de ene server gebruiken en je externe interface voor de andere?

Acties:
  • 0 Henk 'm!

Anoniem: 21301

Op zaterdag 08 december 2001 15:10 schreef OlafvdSpek het volgende:

[..]

Je hebt toch ook in Windows de lokale interface? Dan kun je die toch voor de ene server gebruiken en je externe interface voor de andere?
Dan kan ik maar met 2 clients werken. Dat geeft niet echt betrouwbare resultaten.
Echter, het is de bedoeling om eerst gewoon iedereen met iedereen te verbinden en als ik dat kan, dan kan ik proberen er een ring netwerk van te maken.
Maar ik wil gewoon simpel weg een paar virtuele IP'tjes enkel bereikbaar vanop localhost, dat kan toch zo moeilijk niet zijn ?

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 19:58
In Win2k kun je bij de advanced properties van je netwerkadapter toch gewoon meerdere ip's toevoegen?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Op zondag 09 december 2001 15:33 schreef farlane het volgende:
In Win2k kun je bij de advanced properties van je netwerkadapter toch gewoon meerdere ip's toevoegen?
Ja!!! dat is het. EXACT wat ik nodig had !!
Ongeloofelijk bedankt :)

Acties:
  • 0 Henk 'm!

  • PanMan
  • Registratie: November 1999
  • Laatst online: 09-05 16:34

PanMan

Spun!

ehrmz, kan je dan wel op 1 van die ip's luisteren? Want je hebt zoizo al meerdere IP's. Niet alleen 127.0.0.1 is localhost, maar heel 127.0.0.x
Alleen kan je denk ik niet naar maar 1 ip luisteren. Ach, misschien ook wel. al tijdje niet gewinstockt :)
Success!

Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vacuum tubes and weigh only 1.5 tons.
– Popular Mechanics, March 1949


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 19:58
Op dinsdag 11 december 2001 17:30 schreef XTerm89D het volgende:

[..]

Ja!!! dat is het. EXACT wat ik nodig had !!
Ongeloofelijk bedankt :)
np :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1