Hallo allemaal!
Ik wilde een programma schrijven wat verschillende LAN protocollen over het internet pushte. (Voor bijvoorbeeld oude spellen die nog over IPX gaan, zoals o.a. Duke3D)
Ik was van plan om het programma in modes te laten draaien, server & client.
Deze zouden dan onderling verbonden zijn via TCP en zouden beide luisteren op het netwerk op het ingestelde protocol en port.
Nu wilde ik eerst proefdraaien, en dat ging al mis. Ik heb een FTP server op internet, en wilde het programma als test port 21 op lokaal laten openen, en zodra er een connectie binnen kwam, gelijk naar de bovengenoemde FTP server connecten.
De bytes die gewoonweg lokaal binnen kwam op port 21, duwde ik gelijk door naar de FTP Server.
Het eerste probleem was dat de bytes in een buffer worden gezet, en ik doodleuk de hele buffer doorstuurde, wat als gevolg gaf:
Dit is opgelost, ik knip de buffer af op de door de socket aangegeven aantal ge-received bytes.
maar nu gebeurdt er dit:
Nadat er om het password gevraagd wordt, wordt er niet meer gereageerd, de FTP client zegt dat er geen connectie gemaakt kan worden.
Wat ik niet snap is dat ie de 2e keer dat ie wat wilt versturen gaat er gewoonweg niet doorheen.
Zie ik volgens jullie iets fout bij het doorsturen, of heb ik te simpel nagedacht over het forwarden?
Ik wilde een programma schrijven wat verschillende LAN protocollen over het internet pushte. (Voor bijvoorbeeld oude spellen die nog over IPX gaan, zoals o.a. Duke3D)
Ik was van plan om het programma in modes te laten draaien, server & client.
Deze zouden dan onderling verbonden zijn via TCP en zouden beide luisteren op het netwerk op het ingestelde protocol en port.
Nu wilde ik eerst proefdraaien, en dat ging al mis. Ik heb een FTP server op internet, en wilde het programma als test port 21 op lokaal laten openen, en zodra er een connectie binnen kwam, gelijk naar de bovengenoemde FTP server connecten.
De bytes die gewoonweg lokaal binnen kwam op port 21, duwde ik gelijk door naar de FTP Server.
Het eerste probleem was dat de bytes in een buffer worden gezet, en ik doodleuk de hele buffer doorstuurde, wat als gevolg gaf:
code:
1
| 550 Commandline too long |
Dit is opgelost, ik knip de buffer af op de door de socket aangegeven aantal ge-received bytes.
maar nu gebeurdt er dit:
code:
1
2
3
4
| BindToSocket: 127.0.0.1:2030 SERVER (28): 220 GammaFTP service ready CLIENT (16): USER el_quedro SERVER (23): 331 Password required |
Nadat er om het password gevraagd wordt, wordt er niet meer gereageerd, de FTP client zegt dat er geen connectie gemaakt kan worden.
Wat ik niet snap is dat ie de 2e keer dat ie wat wilt versturen gaat er gewoonweg niet doorheen.
Zie ik volgens jullie iets fout bij het doorsturen, of heb ik te simpel nagedacht over het forwarden?