Forstår ikke hvorfor mit ikke virker som det skal, altså, det er en chat som fungere således: - Når man logger ind, bliver ens IP og socket sat som et par i mappet.
- Når man så skriver f.eks. /tell ip "besked", så bliver den socket fundet, som er sat sammen med ip, og der bliver sendt en besked til den socket.
- Hvis så at der kommer en fejl, f.eks. ved at skrive en forkert ip som ikke er online, får man en fejlbesked om at han ikke er online.
- Når man logger ud bliver ens ip slettet ved: map.erase(ip);
Det fungere i sig selv fint nok, men hvis brugeren logger ud, og ind igen, så vil han stå som offline fordi at den ikke har slettet ip helt, den har kun slettet indholdet af ip. altså sådan her:
når han så logger ind igen, bliver hans IP tilføjet til mappet igen, men så er der 2 ens IP´er så kommer det til at se sådan her ud: IP | socket ------------ ip1 | 1 ip2 | 2 ip3 | slettet ip4 | 4 ip5 | 5 ip3 | 6
- Dvs, at når den skal ind og finde socket ud fra ip, så finder den bare den første ip, og konkludere at den ip er tom, i stedet for at tage den ip i bunden, da de har samme navn. Hvis du kan følge mig?
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.