UDP client IP filtern
Übersicht

![]() |
ZaPBetreff: UDP client IP filtern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hiho!
Ich möchte in meinem script den Datenverkehr des hosts gering halten, um seine bandbreite zu schonen, im grunde dient der Host nur dazu die Spielerzahlen zu übertragen und die Spieler zu verbinden, X,Y,Z etc. übertragen die clients untereinander, wobei mein Problem liegt: Man überträgt zwar die eigenen Daten an alle anderen, aber auch an sich selbst, d.h. man wird im Spiel ständig von sich selbst verfolgt (sieht extrem lustig aus xD ). Ich habe mir gedacht, wenn ich client bin und meine eigene IP habe, kann ich das Senden an mich selbst unterdrücken, aber wie finde ich die via UDP heraus? |
||
Starfare: Worklog, Website (download) |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hier hilft dir sicherlich!
Das ist mein xDOnline Server (nur zu testzwecken) Zwar nicht formatiert, und einiege "Fields" zuviel^^,aber es funzt auf jeden Fall!xD MFG: TANK PS: xD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Zitat: Type player
Field x,y,z Field walk,stand,atk,atk2,beh,back Field lauf,ruck Field anim Field img Field c Field skill Field ip Field mana Field rotation Field send,recv Field damage Field byte$ Field id$ Field port Field satz$ Field links,rechts Field wait End Type Graphics 600,600 Color 0,255,0 Print "START----DRÜCKE ENTER xD" WaitKey() stream = CreateUDPStream(8888) Print "server online!" While Not KeyHit(1) ip= RecvUDPMsg(stream) If ip<>0 Then While ReadAvail(stream) byte$=ReadString$(stream) send$=byte$ If nwort$(byte$, 1)="New" Name$=nwort$(byte$, 2) P.player=New player P\id$=Name$ P\recv=ip P\port=nwort$(byte$, 3) ElseIf nwort$(byte$, 1)="Play" Or nwort$(byte$, 1)="Chat" Or nwort$(byte$, 1)="Exit" Name$=nwort$(byte$, 2) EndIf For P.player=Each player If P\id$<>Name$ Print send$ WriteString(stream,send$) SendUDPMsg stream,P\recv,P\port EndIf Next Wend EndIf Flip 0 Wend Function nwort$(byte$, wort) If wort < 1 Then Return "" trenn$ = " " ;<-- Trennzeichen byte$ = byte$ + trenn$ w = 0 pos = 1 While w < wort And pos > 0 While Mid$(byte$, pos, 1) = trenn$ pos = pos + 1 Wend x = pos y = Instr(byte$, trenn$, pos) pos = y w = w + 1 Wend Return Mid$(byte$, x, y - x) End Function 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 |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmhm, ich seh nich ganz wo man da seine eigene IP rausbekommt... | ||
Starfare: Worklog, Website (download) |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: ip= RecvUDPMsg(stream)
If ip<>0 Then Das ist die IP, von der die Nachricht geschickt wurde. Die wird in Zitat: P\recv=ip gespeichert !
|
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Axo, also sende ich sozusagen eine Nachricht an mich selber, um meine IP rauszufinden... thx =) | ||
Starfare: Worklog, Website (download) |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie ???
Du schickst nichts an dich selbst! Die IP zeig an, von welcher ip du etwas gesendet bekommst! |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
o0... ich dachte du meintest was anderes... aber auf jeden Fall hab ich jetz ne Lösung, du hast mich zumindest drauf gebracht xD... thx ^^ | ||
Starfare: Worklog, Website (download) |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
JUHHHUUUUU!!
Ich habe eine gute Tat vollbracht!^^ kannst mich ja in den Credits erwähnen ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
lol, ok warum nicht? xD | ||
Starfare: Worklog, Website (download) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group