Ik ben 2 simpele C++ console programma'tjes aan het maken die met elkaar communiceren, een server en een client.
Beide werken ze prima, alleen het server programma'tje hangt terwijl hij wacht op een binnenkomende connectie. Ik weet dat dit komt doordat ik een blocking socket gebruik.
Ter verduidelijking eerst wat relevante code:
Nu las ik dus op MSDN dat ik de property "blocking" op false kan zetten en dat dan de socket method "accept" niet meer hangt totdat er een connectie is.
Mijn probleem: Hoe wijzig ik de property van mijn socket (SvrSocket)
Zelf probeerde ik het eerst zo :
Beide werkten niet met de foutmelding dat "SvrSocket" geen class of structure is.
Ik ben hier nou al eventjes op aan het puzzelen, vermoedelijk maak ik ergens een beginner denkfout.
Alvast bedankt voor de hulp.
Beide werken ze prima, alleen het server programma'tje hangt terwijl hij wacht op een binnenkomende connectie. Ik weet dat dit komt doordat ik een blocking socket gebruik.
Ter verduidelijking eerst wat relevante code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| void Connection::run(void)
{
SOCKET ClSocket = INVALID_SOCKET;
SOCKET SvrSocket = INVALID_SOCKET;
conp = new con();
// verkrijg een socket om te luisteren naar inkomende connecties
SvrSocket = conp->getsocket(2);
// Deze functie hangt tot er een inkomende connectie is.
ClSocket = conp->listens(SvrSocket);
// Luisteren naar wat de client te zeggen heeft
conp->recievemsg(ClSocket);
// Stuur iets terug
conp->sendmsg(ClSocket);
// Sluit de socket
conp->closeclientsock(ClSocket);
} |
Nu las ik dus op MSDN dat ik de property "blocking" op false kan zetten en dat dan de socket method "accept" niet meer hangt totdat er een connectie is.
Mijn probleem: Hoe wijzig ik de property van mijn socket (SvrSocket)
Zelf probeerde ik het eerst zo :
code:
1
2
| SvrSocket.blocking = false; SvrSocket->blocking = false; |
Beide werkten niet met de foutmelding dat "SvrSocket" geen class of structure is.
Ik ben hier nou al eventjes op aan het puzzelen, vermoedelijk maak ik ergens een beginner denkfout.
Alvast bedankt voor de hulp.
... MMORPG Addict.