[c++] winsock2 accept SOCKET id

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BartBlackMagic
  • Registratie: December 2003
  • Laatst online: 10-09 08:55
De waarde in new_peer is uniek voor alle connecties die open staan, je hebt bv. 320 324 328 als id

int new_peer = accept( m_tcps->GetSocket(), ( struct sockaddr * ) &destination, &size );

maar stel dat 320 wordt afgesloten en men dan opnieuw connect, zal het nr 320 herbruikt worden.
Is er een mogelijkheid om dit hergebruik van SOCKET id's tegen te gaan?

Acties:
  • 0 Henk 'm!

  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Welke reden heb je dat het niet dezelfde zou mogen zijn? Ik verwacht trouwens niet dat je daar invloed op uit zou kunnen oefenen.

Skill is when luck becomes a habit.


Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
deze "ids" worden ook wel file descriptors genoemd. Daar heb er er doorgaans niet veel van (2048 oid). Wanneer je deze nummers dus niet hergebruikt zul je heel snel geen vrije nummers over houden!

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
Volgens mij wordt hij pas hergebruikt als jij expliciet close op dat socket aanroept, dus in je code kun je rekening houden met het hergebruik.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

dat kan je niet forceren. wat je wel kan doen is een mapping maken van jouw_id naar socket_id, en dan jouw_id gebruiken (std::map<unsigned, socket> oid) en dan als je een socket nodig hebt, in de map kijken. in dat geval heb je controle over de id's die jij uitgeeft :)

-niks-