Avatar billede acid-head Nybegynder
23. december 2004 - 16:40 Der er 10 kommentarer og
2 løsninger

Socket bag router

Hej eksperter..

Jeg har lavet et lille program, som bruger TSocketServer til at modtage nogle beskeder.

Beskederne sendes via en PHP-side. Problemet er bare, at når folk der kører programmet sidder bag en router, når beskederne aldrig frem til programmet.

Hvordan sender jeg beskederne gennem routeren?
Avatar billede martinlind Nybegynder
23. december 2004 - 16:59 #1
Du skal bruge en port der er åben i routeren, du kan f.eks. bruge port 80 localt på din client og så måske en anden på serveren, det ved jeg ikke, men dit problem er at der som regl er lukket for "mærkelige porte" i en router i dag ( firewall )
Avatar billede acid-head Nybegynder
27. december 2004 - 17:55 #2
Jeg kan ikke rigtig få det til at virke.. Et sted bag routeren sidder serveren og lytter på en port fx 80, med den interne IP 10.0.0.1. Når jeg så sender en besked fra min PHP-side til netværkets eksterne IP. Hvordan finder routeren så ud af, at beskeden skal sendes til maskinen med ip 10.0.0.1, med mindre trafikken til port 80, er forwardet til den maskine? Kan det lade sig gøre, og har jeg ikke ret i, at det er der min problematik ligger..?
Avatar billede martinlind Nybegynder
28. december 2004 - 15:25 #3
Ja, du skal forwarde port 80 til 10.0.0.1, det er helt rigtigt, og så kan du få det problem at du ikke kan test indefra og ud og ind igen, det spærret din router også for, noget med loopback et eller andet, som vist nok kan slås fra
Avatar billede dl Nybegynder
28. december 2004 - 21:46 #4
Kan man ikke sende datapacken som en sådan en  PASV  ligesom den connection man kan lave på en FTP Client ... eller er jeg gået helt i koma ?
Avatar billede martinlind Nybegynder
29. december 2004 - 09:45 #5
dl >> det kender jeg ikke noget til
Avatar billede dl Nybegynder
29. december 2004 - 12:05 #6
Jeg ved bare, at hvis jeg ser på CuteFTP ( client ), så kan den connect hvor den bruger en  PASV
Dette skal man nogle gange bruge, ellers vil modtagerens firewall blokere en.

Kunne man ikke lave noget det samme.
Avatar billede martinlind Nybegynder
29. december 2004 - 12:08 #7
Nej, PASV er en del af FTP-protokollen
Avatar billede acid-head Nybegynder
29. december 2004 - 12:41 #8
Problemet er bare.. Server-programmet køre hos brugeren, og jeg har jo ikke mulighedfor eller lov til at rette i folks router.. Det må da være muligt at lave programmet sådan at beskeden kan nå frem til brugeren.. Måske skal jeg omstrukturerer helt, så jeg køre en central server, og brugerne så køre en klient, som connecter til serveren?
Avatar billede dl Nybegynder
29. december 2004 - 12:45 #9
Det du kunne gøre, er alt lave i dit program, mulighed for at brugeren kan def hvilken porte der er åbenet for i hans router, eller gør som alle andre, fortælle brugeren at disse porte bla bla bla  skal åbenes, hvis der skulle være problemmer.

På den måde, fortæller du dem, at de selv skal configurere den. altså routeren.

Men det er også en omvendt måde du gør det på. Men da altid kørt client på brugeren computer, og server programmet på serveren. Få at undgå de problemmer, som du er løbet ind i.

//dl
Avatar billede acid-head Nybegynder
05. januar 2005 - 23:29 #10
Jeg valgte at omstrukture mit program, så brugeren kørte en klient, som connecteded mod en sentral server.. Hvis du vil have nogle point også, dl, så smid et svar.. :)
Avatar billede dl Nybegynder
06. januar 2005 - 14:23 #11
svar  ;) ... hvis det altså var noget du kunne bruge til noget.
//dl
Avatar billede thorin_deathrage Nybegynder
20. juni 2005 - 18:07 #12
hmm... har jeg rett her:

du har et server-programm for noe du har laget på din PC hjemme, og klienten er et php-script som ligger på en web-server?

isåfall er det DU som må forwarde DIN router..

jeg kjører en spill-server (hjemmelaget internettspill)hjemme, og alle kan koble til den, også de som er bak er router. det kommer av at når du sender UT noe gjennom routeren til en addresse på en port, skjønner routeren at når den får noe tilbake på den porten fra den addressen skal det til din maskin.

men hvis noen skal koble til deg og du er bak en router må DU forwarde porten til IP-en din..

Er dette rett?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester