[omniORB] Problem with large requests (WinNT)

Vitaly Prapirny marl at mebius.net
Wed Aug 18 21:55:11 BST 2004


Lars Nilsson wrote:
> I have seen some problems sending large requests (although using
> omniORB 3.0.5 at the time), and from what I could tell, the underlying
> socket code returned WSAENOBUFS (10055). I think I could even pick
> this code up in the minor code in the exception being raised. Doing
> some googling (usenet groups) for WSAENOBUFS shows quite a few people
> getting it when performing transmissions of data that are some tens of
> MB in size (not omniORB related, just send(), etc).
This error has been disscussed earlier (see
http://www.omniorb-support.com/pipermail/omniorb-list/2002-September/021742.html
"[omniORB] large messages -> WSAENOBUFS"). Microsoft has confirmed this
bug in http://support.microsoft.com/default.aspx?scid=kb;en-us;201213
"BUG: Send() Fails with Error WSAENOBUFS Over Blocking Socket" (Win95,
Win98,WinNT) and recommends one of the following workarounds:
     * Use the socket in nonblocking or asynchronous mode.
     * Break large-size data blocks into small ones and specify a 
relatively small buffer in send for blocking sockets, preferably no 
larger than 64K.
     * Set the SO_SNDBUF socket option to 0 (zero) to allow the stack to 
send from your application buffer directly.


Good luck !




More information about the omniORB-list mailing list