P2P with TCP Strukturproblem.
Übersicht

![]() |
TimBoBetreff: P2P with TCP Strukturproblem. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
eigentlich bin ich recht fit in Netzwerksachen nur das hat mich eben umgehauen. Stellen wir uns diese Situation vor: Es gibt clienten, die von einer Datenbank (MySQL) die IP's von allen Clieten bekommen, die Online sind. Nun kann man frei auswählen, wen man Herausfordert. Das ist ja alles easy. Nur jetzt kommt das Problem. Um AcceptTcpStream auszuführen muss ich ja Createserver ausführe. Wenn man aber nun einen herausfordern will, muss man closetcpserver machen, weil sonst(warum auch immer) kein CreateTCPStream ausgeführt werden kann. Starte ich nach dem Spiel den TCPServer, damit man wieder herausgefordert werden kann, kommt ein MAV, weil die Ports angeblich noch belegt sind. Ich brauche keinen Code nur ansätze, wie ich sowas aufbauen kann. Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... schon probiert, dem computer ein wenig zeit zu geben, die ports wieder freizugeben? kannstas so machen, dass ~10 sec lang jede sec probiert wird, obs funktioniert. wenns klappt, dann hald das weiterprobieren abbrechen.
sollte das nicht funktionieren versuchs mit einem anderen localport für die neuverbindung. oder was du noch machen könntest: Port xyz für verbindung zum server, Port xyz+1 für die p2p-verbindung |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi DAK,
also ich habe Folgendes: myport=6112 otherport=6112 ich erweiter dies auf: const myport=6112 const otherport=6112 const serverport=6113 und dann müstte es ja gehen: Createtcpserver(serverort) opentcpstream(ip,serverport(vom gegenüber),myport) ohne , dass ich den Server schließen muss ? Ich versuche es jetzt mal ^^ Vielen Dank TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
sollte funktionieren... habs grad ausprobiert, bei mir gehts. | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Am Besten nur beim Server einen festen Port vergeben, alle anderen können ohne weiteres direkt von BB vergeben werden. D.h. wenn ein Port belegt ist, sucht sich BB automatisch den nächsten freien... | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe es auch getestet und funktioniert bestens ! Warum mache ich einen speziellen Port -weil ich im Moment an einem PC mein Programm ausführen möchte. Damit es keine Portkonflikts gibt. Warum muss ich später immernoch Ports angeben, weil das Game im WWW stattfinden soll und somit meistens ein Router meine Daten blockieren würde. Ich wüsste nicht, das Blitz die Freigegebenen Ports prüft. Vielen Dank !! Code: [AUSKLAPPEN] t = opentcpstream(ip,8000,8001)
closetcpstream t t = opentcpstream(ip,8000,8001) geht nicht , da bei letzteres das Programm ab"kackt" , da der Port angeblich noch nicht frei ist, kann mir dazu jemand noch einen Tipp geben ? Mein Ansatz wäre folgendes: Code: [AUSKLAPPEN] for i=0 to 10
t = opentcpstream(ip,8000,8001) if t<>0 then exit delay 100 next Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
- Zuletzt bearbeitet von TimBo am Sa, März 07, 2009 13:28, insgesamt einmal bearbeitet
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
den ansatz würd ich auch nehmen. vll noch n timeout oder so einbauen... | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok gut, dann werde ich den Ansatz auch so nehmen.
wie meinst du das mit Timeout ? ich dachte immer TCPTimeouts geht nur bei Readbefehlen ? Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm Random Ports, ausser für den Server.
Dies garantiert dir, dass es ein freier Port ist. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group