ID: Q177314
The information in this article applies to:
Netbios.exe is a NetBIOS programming sample that implements an echo server and client. The sample illustrates how a client and server should be written in order to make the application protocol and LAN Adapter (LANA) independent. It also shows how to avoid common mistakes programmers frequently make when writing NetBIOS applications under WIN32.
The following file is available for download from the Microsoft Software Library:
~ NetBIOS.exe (size: 45215 bytes)
For more information about downloading files from the Microsoft Software
Library, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q119591
TITLE : How to Obtain Microsoft Support Files from Online Services
For a discussion about LANAs see the following article in the Microsoft
Knowledge Base:
ARTICLE-ID: Q138037
TITLE : How to Use LANA Numbers in a 32-bit Environment
This file is associated with the NetBIOS echo client/server sample.
There are four source files associated with this application:
client.c - source code for client app
server.c - source code for server app
nbcommon.c - NetBIOS functions common to client and server
nbcommon.h - common NetBIOS defines and prototypes
These files compile into two applications: client.exe and server.exe.
First, compile nbcommon.c into object code. In a DOS prompt, type:
cl /c nbcommon.c
Next, compile the two applications with the following commands:
cl -o client client.c nbcommon.obj netapi32.lib
cl -o server server.c nbcommon.obj netapi32.lib
To run the server:
server SERVER-NAME
SERVER-NAME uniquely identifies the echo service. All clients
who want to connect to the server should connect using this name.
To run the client:
client CLIENT-NAME SERVER-NAME
CLIENT-NAME uniquely identifies the client. SERVER-NAME identifies
which NetBIOS server the client wishes to connect to. Both of
these names are NetBIOS names which are formed as follows:
1. Names are no longer than 16 characters long.
2. Names are unique. Only one instance of a name can
exist in the network at any time.
3. The 16th character must be greater than 0x20. These
values 0x20 and below are reserved and designate
certain this name as a machine name, user name, etc.
Consult a NetBIOS reference for the exact use of these
reserved values.
For example, the server is executed on a machine named "AJONES1" with this
command:
server MYSERVER1
This establishes the server process as MYSERVER1. This name is registered
with the machine and can be verified by running:
nbtstat -a AJONES1
which will display a list of all names registered with the machine
including "MYSERVER1." Please note that nbtstat.exe is a utility that is
installed only when the TCP/IP protocol is installed. It is a very useful
utility for debugging certain aspects of Netbios programs, and I would
highly recommend installing it.
Execute the client from a machine named "AJONES2" with this command:
client MYCLIENT MYSERVER1
The client will connect to the server, send a string, and read the string
back from the server.
Additional query words:
Keywords : kbnetwork kbAPI kbNetBIOS kbNTOS351 kbNTOS400 kbSDKPlatform kbWinOS95 kbGrpNet
Version : WINNT:3.51,4.0
Last Reviewed: September 7, 1998