Subj : WinSock
To : Jon Justvig
From : Digital Man
Date : Wed Jun 13 2018 12:24 pm
Re: WinSock
By: Jon Justvig to Digital Man on Wed Jun 13 2018 04:29 am
> Re: WinSock
> By: Digital Man to Jon Justvig on Tue Jun 12 2018 05:29 pm
>
> >> char buffer[20];
>
> > >>> int result;
>
> > >>> // our recv loop
> > >>> while (true)
> > >>> {
>
> > >>> result = recv(current_client, buffer, sizeof(buffer), 0); // recv
> > >>> cmds
>
> > >>> Sleep(10);
>
> > >>> if (result > 0)
> > >>> {
> > >>> cout << "\n\tMessage from client: " << buffer;
> > >>> send(current_client, (const char*)buffer, sizeof(buffer), 0);
> > >>> }
>
> > just above int result; ...
>
> DM> So.. if you only receive 2 bytes (result == 2), you're still going to
> DM> send 20 (sizeof buffer)? That's probably not what you want.
>
> How might I receive between 2 and 12 bytes?
You're calling recv() with a max-length of 20 (sizeof buffer). That doesn't
mean you'll necessarily receive exactly 20 bytes. You could receive anywhere
between 0 and 20 bytes - the return value of recv() tells you how many bytes
you received, if any.
digital man
This Is Spinal Tap quote #7:
Nigel Tufnel: That's just nitpicking, isn't it?
Norco, CA WX: 87.0�F, 41.0% humidity, 5 mph NE wind, 0.00 inches rain/24hrs
---
� Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net