wrote:
> I am trying to send an integer from Java Client to C++ server. I
> figured out how to do the conversion. However, I have a problem reading
> from the socket.
What is your problem and where are your tests?
> This is my code:
>
> int DataInputStream::readInt()//reads one integer from the client
> {
> int32_t var1;
> soc->recv((void*)&var1, 4);
> var1 = ntohl(var1);
> return var1;
> }
>
> I am assuming that I need a loop, but I cannot figure out which one. I
> tried all cases that I could imagine, but none of them worked.
> I MUST use recv function. Here is how it is defined:
>
A loop for what?
> int recv(void *buffer, int bufferLen)
> throw(SocketException) {
Exception specifications (other than throw()) tend to be more of
hindrance than a help. Consider what happens if another exception gets
throw.
> int rtn;
> if ((rtn = ::recv(sockDesc, (raw_type *) buffer, bufferLen, 0)) < 0)
> {
> throw SocketException("Received failed (recv())", true);
> }
>
> return rtn;
> }
>
> Any help is appreciated.
>
--
Ian Collins.