Click here to Skip to main content
12,450,771 members (46,102 online)
Click here to Skip to main content
Add your own
alternative version


15 bookmarked

Checking IPX communication and obtaining node addresses

, 28 Dec 1999
Rate this:
Please Sign up or sign in to vote.
How to obtain IPX node addresses of network stations
  • Download demo project - 61 Kb
  • Sample Image - IPXCheck.gif

    <!-- Article Starts -->

    In a recent project that uses an IPX protocol for communication between multiple Windows NT stations and multiple DOS stations, I needed to find out the IPX node address of the local computer as well as the node addresses of all computers on the network (running under Windows or DOS). So, I designed 2 programs (one 32 bit for Windows and the second 16 bit for DOS) that support the same custom packet type. The final result is an application that shows the node address of each computer in a network that is running either one of the programs together with the local time on each computer.

    On DOS side, I am using a direct interrupt call to IPX/SPX driver installed on a DOS machine. On Windows side, I am using Winsock 2 API for IPX communication. Setting up initial communication was a bit complicated but the final code is very simple.

    The idea is the following: Each application is running under a timer. When timer expires (1 second), the application broadcasts a packet with its local time and its user defined name. This broadcast packet is catched by all stations (including the sending station) and is displayed in a list. If it already exists in a list, the list item is updated. Since this is a connectionless communication, technique for obtaining the sender's IPX node address is different for DOS and Windows. DOS code directly takes the sender's node address from the IPX packet. However, since Windows application is using Winsock 2, access to packet structure is not available. Within a Winsock window message handler, application executes a recvfrom() function call that returns a node address of the sender.

    These 2 applications proved to be very useful since one can obtain all the node addresses but also (and this is very important) can check whether the support for IPX communication is installed on the machine (either Windows or DOS) and check whether the IPX communication is running correctly (even if all is ok, stations may be invisible to each other if an Ethernet frame type is not the same). So, these 2 applications are also a good diagnostic tools.

    I plan to work on the same application (only Windows version) that supports the TCP/IP protocol (actually only IP since it is going to work using an UDP protocol). You can check for the latest info on


    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    About the Author

    Zoran M. Todorovic
    Web Developer SCA d.o.o.
    Serbia Serbia
    I am a cofounder of SCA Software, company that specializes in software for process control, visualization and communication. Programming for the last 10 years in C++, Delphi. Visual C++ for the last 6 years. Degree in Electronics Engineering and Telecommunications.

    You may also be interested in...


    Comments and Discussions

    GeneralWhy The card number in mine PC is: 00:00:00:00:01&#65281; Pin
    vc_fan22-Aug-02 17:39
    membervc_fan22-Aug-02 17:39 
    Questionhow to edit a ethernet frame Pin
    Linda19-Jun-02 21:26
    memberLinda19-Jun-02 21:26 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    | Advertise | Privacy | Terms of Use | Mobile
    Web02 | 2.8.160826.1 | Last Updated 29 Dec 1999
    Article Copyright 1999 by Zoran M. Todorovic
    Everything else Copyright © CodeProject, 1999-2016
    Layout: fixed | fluid