Sending Zero Byte SPX packets using winsock on WiondowsNT...

Sending Zero Byte SPX packets using winsock on WiondowsNT...

Post by ra.. » Wed, 03 Apr 1996 04:00:00



When using sockets either SOCK_STREAM ( or SOCK_SEQPACKET ) and NSPROTO_SPX (
with Address Family AF_IPX), is there a way to send a zero-byte packet( i.e
only the SPX_header without any data ), I am trying to accomplish what can be
done
with the code segment below ?.

It seems like we can do this with Novell's NWIPXSPX Transport API by doing
this:
{
     pkt.ecb.fragmentDescriptor[1].size = 0;
     pkt.spxHdr.connectionControl | = SPX_END_OF_MESSAGE;
     SpxSendSequencedPacket ( ...,..,.., pkt );

Quote:}

This sends out a zero-byte packet, with the SPX_END_OF_MESSAGE bit set.
I have tried the winsock send(.... ) with a zero for the length, it
generates an unhandled kernel-mode exception on my NT.

Any suggestions/input/responses will be appreciated.

--
All opinions expressed here are mine and only mine!

--Ratna

 
 
 

1. Sending SPX Packet with MSG_PARTIAL using I/O Completion Port

I've got a winsock application under NT3.51 which use winsock with IPX/SPX.
The socket I'm using is SOCK_STREAM, and I've got things all working just fine
using calls to send/recv.  I'm reorganizing how this application does I/O to
use asynchronous I/O.  In this effort, I am now using I/O an completion port
for all operations with actual calls to ReadFile and WriteFile to initiate
data transfers instead of calls to send/recv.  I've run into a case where
I can't seem to figure out how to implement the following send call with
WriteFile:

        size = send(sock, data, datasize, MSG_PARTIAL);

The key issue is how can I call "WriteFile" and pass the "Flags" parameter that
"send" provides.

When the "flags" argument would be zero, the call to write is simply:

        OVERLAPPED over;

        ZeroMemory(&over, sizeof(over));
        WriteFile(sock, data, datasize, &size, &over);

As a random guess, I've tried setting each of the 4 fields of the overlapped
structure to MSG_PARTIAL, all without producing the desired results.  :-(

Does anyone have any idea how to initiate an operation with the above or any
other "flag" values with this mechanism?

--
Mark Pizzolato - INFO COMM Computer Consulting, Danville, Ca

2. Prolem with time zones in calendar

3. determing number of packets/bytes sent/received under Windows 95

4. Read clipboard contents with LISP?

5. how to send a telegram using spx/ipx

6. Help with BITEX style, please

7. WinSock using TCP/IP, SPX/IPX/NetBEUI

8. Multiple interfaces and Bind 8

9. Dial-Up Networking Stats (bytes received, bytes sent, etc.)

10. RASMON Win95 - Bytes received, bytes sent

11. Can't send 1459 bytes via Winsock through FreeBSD firewall

12. Winsock / Socket Created / Packet not send

13. Send/Recv TCP/IP packet without Winsock ?