Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Flags in send() and recv() function SOCKETS

bpajkbpajk Posts: 156Member
What do the flags in the send() and recv() mean, when and how can I use them. I allways use 0 as a flag parameter.
Here is the reference:

15 Recv
Declaration
Function Recv (Sock:Longint;Var Addr;AddrLen,Flags:Longint) : Longint;

Description
Recv reads at most Addrlen bytes from socket Sock into address Addr. The socket must be in a connected state. Flags can be one of the following:
1
: Process out-of band data.
4
: Bypass routing, use a direct interface.
??
: Wait for full request or report an error.
The functions returns the number of bytes actually read from the socket, or -1 if a detectable error occurred.

Comments

  • ManningManning Posts: 1,621Member
    : What do the flags in the send() and recv() mean, when and how can I use them. I allways use 0 as a flag parameter.

    It's largely protocol dependant, this is just what I know with TCP. With both send() and recv() you can use the MSG_OOB flag, which is most commonly used to send "urgent" data. On recv() you can also use the MSG_PEEK flag which will read the incoming data, but not remove it from the buffer.

    If you look on MSDN you might find some other options as well.
  • bpajkbpajk Posts: 156Member
    Thanx, that realy helped me a lot.
Sign In or Register to comment.