Sockets: lytte og kommunikere på samme port.
Hej eksperterJeg er ved at lave en simpel server i C#, der lytter på en bestemt port efter TCP forbindelser.
JEg bruger følgende kode til at acceptere en forbindelse:
listenSocket.Bind(new IPEndPoint(IPAddress.Any, 6000));
listenSocket.Listen(10);
clientSocket = listenSocket.Accept();
Dette virker fint. Men jeg kan se at når jeg kalder "clientSocket.RemoteEndPoint" så bruger den en ny, tilfældig valgt port til at foretage kommunikation med klienten.
Jeg kan forestille mig dette bliver et problem, da man ved eksempelvis kommunikation gennem routere/firewalls gerne skal vide hvilk(e/n) port der benyttes. Så duer det da ikke at programmet bare vælger en ny, tilfældig port hver gang der oprettes forbindelse.
Kan jeg kontrollere dette? Og kan jeg få den til at bruge den samme port, som lytte-porten? (Mange programmer jeg har benyttet kræver kun en enkelt port, så de må vel lytte og kommunikere via samme port?).