IP umwandeln, IP im Minus ..? (NEUE FRAGE AM ENDE)
Übersicht

MynBetreff: IP umwandeln, IP im Minus ..? (NEUE FRAGE AM ENDE) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Guten Tag,
ich habe mal wieder eine Frage, zu einem Problem an meinem Netzwerkspiel ;D Und zwar habe ich einen Client und einen Server. Im Normalfall sendet jeder Client seine Daten an den Server, der wiederum alles den anderen Clients sendet. Das funktioniert auch ohne Fehler. Jetzt wollte ich aber für eine Bestimmte Sache es so einrichten, das jeder Client von den anderen Clients IP+Port hat, also vom Server gesendet bekommt. Sinn der Sachen ist das ich einen Datenaustausch ohne Server an verschiedenen Stellen einrichten kann. Jedenfalls erkennt der Server mit Hilfe von Code: [AUSKLAPPEN] UDPMsgIP
die IP der Clients und sendet sie den anderen. Mit der Funktion: Code: [AUSKLAPPEN] Function INT_IP(IP$)
a1 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a2 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a3 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a4 = Int(IP$) Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) + a4 End Function kommt da aber eine andere IP raus, eine die im - ist... Warum ist die IP anders..? mfg Myn |
||
- Zuletzt bearbeitet von Myn am Mo, Apr 18, 2011 22:50, insgesamt einmal bearbeitet
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
VeRSuchst Du da eine Integer IP in eine Klartext IP umzuwandeln? Das geht mit DottedIP![]() |
||
Starfare: Worklog, Website (download) |
Myn |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit der funktion mache ich aus einer Klartext IP eine INTER IP... das geht auch ;D
//edit Code: [AUSKLAPPEN] Dest_IP$ ="***.***.*.***"; ippt = INT_IP(Dest_IP$) Function INT_IP(IP$) a1 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a2 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a3 = Int(Left(IP$, Instr(IP$, ".") - 1)) : IP$ = Right(IP$, Len(IP$) - Instr(IP$, ".")) a4 = Int(IP$) Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) + a4 End Function |
||
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jap,
die Funktion macht aus normalen Integer IPs, DottedIP ![]() Die Funktion UDPMsgIP ![]() deswegen der Fehler. lg, count-doku |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, Integer gehen von -2^31 bis 2^31, IP Adressen können in jedem Teil (= 8 Bits eines Integers) von 0 bis 255 gehen. Da Blitzbasic mit 2er Komplement Zahlen (siehe hierzu Wikipedia) arbeitet, können also IP Adressen mit besonders großen oder kleinen Werten einen besonders großen oder kleinen Integer erzeugen. | ||
Starfare: Worklog, Website (download) |
Myn |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn der Server jetzt mit UDPMsgIP die Integer IP eins Clients erfährt, kann ich diese Integer Ip also nicht als "Inter" den anderen Clients senden sondern als String, das sie zu groß ist ..?
Teste ich gleich.. |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch das geht. IPs haben wunderbar platz in integer variablen. Sie werden halt einfach als negativ dargestellt, wenn das vorderste Bit gesetzt ist. | ||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Myn |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Abend,
habe mal etwas weiter getestet und habe eine für mich komische Sache endeckt... Der Server zeigt mir eine andere IP vom Client an (wenn ich sie aus einer Nachricht mit Hilfe von UDPMsgIP lesen lasse) als wenn ich sie mir direkt mit zwei Clients Nachrichten sende und diese wiederumm mit UDPMsgIP aus lesen lasse ..? Warum kommen da unterschiedliche Zahlen raus? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group