PRB: Winsock 1.1 Send() Over IPX/SPX Fails With WSAECONNRESET

Last reviewed: April 23, 1997
Article ID: Q166762
The information in this article applies to:
  • Microsoft Win32 Application Programming Interface included with: - Microsoft Windows 95 - Microsoft Windows 95 OEM Service Release, version 2

SYMPTOMS

Winsock 1.1 IPX/SPX applications communicating with NetWare applications or special devices using the send() API can fail with error WSAECONNRESET. This occurs when a Winsock application attempts to send large buffers using the SOCK_SEQPACKET socket type to a Netware IPX application or special device.

CAUSE

Microsoft's implementation of the IPX/SPX protocol takes advantage of a network's full media size and does not limit its data packet transmission size to 576 bytes. Some Netware applications or devices cannot handle data packet transmissions greater than 576 bytes. The limitation is an artificial one that IPX applications inherited from the Xerox Network System's (XNS) Internet Datagram Protocol (IDP) packet structure which originally limited IPX packets to 576 bytes (IPX header plus data). Some NetWare specific IPX/SPX applications enforce the limitation on themselves by inclusion of a constant MaxIPXPacketSize from header files in the NetWare SDK.

RESOLUTION

If your Winsock 1.1 application must communicate with an application that imposes the artificial packet limit, you can do so by creating the socket with type SOCK_STREAM and limiting the size of your send() calls to 534 or fewer bytes.

STATUS

This behavior is by design.

MORE INFORMATION

The Novell IPX Router Specification states "While IPX implementations must be able to handle at least a 576 byte packet, enhancements to IPX now allow support for packet sizes up to 65,535 bytes."

REFERENCES

Novell IPX Router Specification, November 17,1992, Version 1.10, Part Number: 107-000029-001


Additional query words: 95
Keywords : NtwkWinsock
Version : 95
Platform : WINDOWS
Issue type : kbprb


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 23, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.