Du bist nicht angemeldet.

XEVON

Registrierter Benutzer

  • »XEVON« ist der Autor dieses Themas

Beiträge: 24

Dabei seit: 11. August 2010

  • Private Nachricht senden

1

Montag, 6. September 2010, 12:44

TCPListener - lokale IP eingehender Verbindungen

Hallo :-)
Ich beschäftige mich zurzeit mit den Klassen TCP-Listener sowie TCP-Client und versuche eine Verbindung zu einem anderen Rechner herzustellen. Das klappt auch alles soweit ganz gut. Ich höre mit dem TCP-Listener einen bestimmten Port ab und wenn eine Verbindung eingeht, übergebe ich diese an den TCP-Clienten. Jetzt würde ich gerne die lokale, fest eingestellte IP der eingehenden Verbindung überprüfen, so dass sich nur bestimmte Rechner mit mir verbinden können. Ist es möglich die lokale IP irgendwo auszulesen?

Mit freundlichen Grüßen,
Marcus

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

2

Montag, 6. September 2010, 13:25

TCPListener - Lokale IP eingehender Verbindungen ermitteln

Hier sollte funktionieren.

Visual Basic Quellcode

1
2
3
4
Dim ipend As Net.IPEndPoint = DirectCast(client.Client.RemoteEndPoint, Net.IPEndPoint)
                If Not ipend Is Nothing Then
                    PublicIP = ipend.Address.ToString & ":" & ipend.Port.ToString
                End If


Hat hier schon wer beantwortet unter nem anderem Thema. Hier:
[VB.NET] TCP/IP Chat IP´s verwalten?

XEVON

Registrierter Benutzer

  • »XEVON« ist der Autor dieses Themas

Beiträge: 24

Dabei seit: 11. August 2010

  • Private Nachricht senden

3

Montag, 6. September 2010, 15:11

Hallo Pvt.BeaverSau :-) ... vielen dank für die schnelle und einfache Lösung, du hast mir sehr geholfen.

Mit freundlichen Grüßen,
Marcus

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

4

Montag, 6. September 2010, 16:11

Kein Thema
Bin grad selber dabei eine Verbindung aufzubauen, aber nicht mal das geht bei mir.
Also auf meinem Rechner schon, aber wenn ich das im Lan-Netzwerk machen will und
bei meinem Bruder den Client und bei mir der Server schon läuft, kommt immer ein
Verbindungsproblem.
Würdest du vllt deinen Code posten wär dir echt sehr dankbar darüber, weil ich jetzt
schon zwei Tage Googel und noch zu keinem Ergebniss gekommen bin.
Also wärs super, wenn du deine funktionierende Lösung posten könntest.

Mfg Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

5

Montag, 6. September 2010, 16:28

hast du die richtigen IP's angegeben? Wurde das Serverprogramm von der Firewall blockiert?
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

6

Montag, 6. September 2010, 16:33

Also ich hab die Netzwerkinterne, also die nur bis zum Router geht ausprobiert und mit der ich im Internet bin.
Aber beide funktionieren nicht. Da ich ja im Netzwerk bin müsste die doch eigentlich die richtige sein.
Also die Netwerkinterne mein ich. Die Firewall fragt mich ob ich die Verbindung zu lassen möchte und da klick
ich dann halt ja

Habs grad mal anders herum ausprobiert, also bei meinem Bruder den Server laufen gelassen und bei mir den Client.
Weiß wer woran das liegen könnte? Vllt irgendwelche falschen einstellungen?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Pvt.BeaverSau« (6. September 2010, 17:00) aus folgendem Grund: Anders herum geht es


Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

7

Montag, 6. September 2010, 17:20

So jetzt gehts auch das ich deer server bin und mein bruder der Client.
Lag an der Firewal, muss anscheinend auf Weiterhin Blocken geklickt haben.
Da die Firewall nur einmal nachfragt konnt ich das nicht änder und da ich zur
Probe das Programm auf den Desktop kopiert habe und gestartet habe, hat
die Firewall nochmal nachgefragt und ich hab Nicht mehr blocken angeklickt
und nun klappts.
Vielen dank für die Hilfe das hat mich auf den richtigen Weg gebracht :D
Aber noch ne andere Frage, wenn ich das jetzt mit nem Freund ausprobieren
will muss ich ja die Internet IP nehmen da ich und er aber hinter nem Router
sitzen wird das wohl probleme machen weil der Router nicht weiß an welchen
PC er die Daten schicken soll. Ich hab jetzt schon irgendwas von dyndns
gelesen und von port forwarding oder so, kann mir wer sagen was da das
richtige is und wie man das realisieren könnte?

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

8

Montag, 6. September 2010, 17:39

beides ist das richtige...dyndns ist nur dafür da, dass du diese Adresse anstelle deiner InternetIP angeben musst, somit reicht eine einmalige Angabe, da sich die Adresse nicht ändert...
das Portforwarding musst du selbst im Router einstellen, was je nach Router Hersteller unterschiedlich ist, steht evtl. in der jeweiligen Anleitung, oder ansonsten im Internet(bei allen Routern heutzutage - meines wissens - macht man dies jedoch im Browser indem man dort die IP des Routers eingibt, nach jeweiliger Benutzer und Passworteingabe solltest du deinen Router einstellen können...)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

9

Montag, 6. September 2010, 18:15

Also kann ich das port forwarding schonmal nicht verwenden also ins Programm einbauen.
Aber kann mann das dyndns so verwennden das ich das in mein Programm schreib und der
das automatisch macht? Also ohne das der Benutzer noch irgendwas einstellen muss.
Sorry steigt da nämlich noch nicht ganz durch.
Für Erklärungen oder Links wäre ich sehr dankbar.

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

10

Montag, 6. September 2010, 18:22

stimmt genauso, du musst nur diese dyndns Adresse angeben, welche dann zu deinem Router (und somit zu dir) weiterleitet...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

11

Montag, 6. September 2010, 18:30

Und wie bekomm ich die dyndns adresse raus?
Steht die irgendwo, wenn ich in der cmd ipconfig eingebe?

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

12

Montag, 6. September 2010, 18:34

nein, die musst du dir hohlen http://www.dyndns.com/ da sollte alles weitere beschrieben sein...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

13

Montag, 6. September 2010, 18:36

Also müste der Benutzer doch noch etwas einstellen oder kann ich das auch
mit nem Programm machen?
Sorry für die Fragerei.

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

14

Montag, 6. September 2010, 18:38

das muss nicht der Endbenutzer machen, dass muss einmal eine person machen, diese die den Server verwaltet, ich schätze das bist somit du...
Alle Clienten verbinden dann nachher auf deinen Computer und dein Computer empfängt auch die Nachrichten, shcickt diese aber an die entsprechenden Personen weiter...so wie hier: [VB.NET] Multiserver (TCP)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

15

Montag, 6. September 2010, 18:44

Ja aber, wenn jetzt mein Freund auch hinter nem Router hockt,
wie soll dann mein programm ihn erreichen? Weil wenn ich das
an seinem Router schick kommts ja net an seinem PC an.
Was ändert dan dyndns daran? Sorry ich glaub ich steh grad
mächtig aufm schlauch. Wenn du nen Link kennst, wo das erklärt
is kannst mir ja mal schreiben oder du versuchstes weiter mir
das bei zubringen, wär natürlich sehr net :rolleyes:

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

16

Montag, 6. September 2010, 18:48

Also, das Portforwarding stellst du auf deinem PC ein, über die InternetIP könnt ihr euch miteinander verbinden und somit auch miteinander schreiben, sofern du auf deinem Computer das Serverprogramm laufen hast und er auf seinem ein Clientprogramm...
Die InternetIP ändert sich jedoch immerwieder durch den Provider, daran kannst du nichts ändern, wenn du dann auf deinem PC jedoch dyndns verwendest, genügt es diese Adresse die sich nicht verändert anzugeben, die Adresse leitet dann auf deine aktuelle IP weiter(sofern dein Computer angeschaltet ist und das Programm läuft...)...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

17

Montag, 6. September 2010, 18:58

Ja ok ich denk das hab ich jetzt verstanden, bringt mich aber nicht weiter,
weil das dyndns ja nur auf meinen PC weiterleitet. Das könnte mann dann
aber auch z.B uber einen Ftp-Server realisieren oder? Also das da in einer
Datei immer die aktuelle IP-Adresse vorhanden ist. Aber da mein Freund
wie gesagt auch nen Router hat kann ich ihn ja auch nicht erreichen.
Also brauche ich port farwarding, Richtig? Muss ich das am PC einstellen
oder kann das mein Programm nocht übernehemen?

MFG Pvt.BeaverSau

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

18

Montag, 6. September 2010, 19:59

alle deine Freunde bekommen Client programme und müssen somit nichts mit Portforwarding machen...
nur du verwendest das Serverprogramm und musst einen Port freigeben, somit können alle deine Freunde zu dir verbinden ohne etwas freizugeben, Portforwarding kann man nicht ins Programm einbauen...
Über einen FTP Server wäre möglich, jedoch total unsicher, also verwendest du dyndns, das muss auch keiner deriner Freunde verwenden...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Pvt.BeaverSau

Registrierter Benutzer

Beiträge: 10

Dabei seit: 6. September 2010

  • Private Nachricht senden

19

Montag, 6. September 2010, 20:15

Super danke jetzt hab ich das verstanden. :rolleyes:
Is ja gar nicht so schwer :D
Also erstmal ein ganz, ganz großes Dankeschön für deine Geduld :thumbsup:
Setzt mich dann Morgen mal dran und schau das das läuft, bin jetzt
aber zuversichtlich.^^

MFG Pvt.BeaverSau