NetStreams overview
Documented version: 1.0.0.4
This library is designed as an extension of the newObjects
ActiveX Pack1 (Pack1) library. In the hierarchy started
with Pack1 it is the core and libraries like this one (NetStreams)
are options that can be installed with it. These optional
libraries benefit of certain features of Pack1 - they need them in
order to provide their full functionality. In NetStreams this is
mostly about the SFStream object which does the actual data
transfer. Thus the objects in the NetStreams library are intended
to establish a connection, once done a SFStream object is attached
to it and the data operations are made in a file-like manner.
Read the full overview here
Using the NetStreams objects (and samples)
In this page the basic techniques are explained. Reviewing the
samples packaged with the DLL you can see them illustrated.
Read the full page here
Distribution and requirements.
The NetStreams library is a freeware just like newObjects
ActiveX Pack1 and is bound by the same terms and conditions.
The technical side of the re-distribution concerns its
compatibility and rage of functionality. The key consideration for
the library is compatibility and dependence on Windows Sockets
1.1 only. So it has quite a wide range of compatibility
without need of system updates. The IRDA and IPV6 support are
implemented in a form that will not cause the library failure on
systems where support for them is not available. Instead any
attempt to use them will spark regular errors if there is no
support on the platform where the library runs and they will be ok
where support is available.
The above consideration caused us to not include bluetooth
support in this DLL. Unfortunately some of the bluetooth most
important features require at least Windows Sockets 2 in order to
make such a feature support actually useful (for example being
able to establish a connection, but having no way to lookup
devices is of no use at all). We will consider the problem further
but currently our plans are to do this in another library (work
name NetStreams2) which will have the features found here plus the
features that require Windows Sockets 2, but it will work only on
machines with the WinSock version 2 and above.
So, the requirements of NetStreams are Windows Sockets 1.1 -
which means that it will work on Windows 95 and above, Windows NT
and above, Windows CE 3.0 and above (including Pocket PC of
course).
(note the first version of the library - 1.0.0.4 does not
support IRDA devices lookup on Windows 95/98/ME - you need a later
version in order to do this on these OS versions).
The binary file for redistribution is NetStreams.dll. You must
take the appropriate version for the platform of concern (See the
download links on the site). |
ProgID and ClassID
NSMain
Threading model: Both
Program ID: newObjects.net.NSMain
ClassID: {96B8A1DF-0F90-4A5D-8BE4-14639C99ADD2}
Threading model: Free
ProgramID: newObjects.net.NSMain.free
ClassID: {EF3DDADE-6331-4d48-9A42-BC6ADE23065F}
Note: It is recommended to create only a NSMain object and
then create the other objects you need through it (Using its members:
NewSocket, NewOption, NewAddress etc.). This will help you avoid a few
lines of code and also will put all the objects in the same COM
apartment which will give you better performance. However you can create
them directly using these ID-s:
SocketStream
Threading model: Both
Program ID: newObjects.net.SocketStream
ClassID: {D2F58BA8-F7B7-4A9D-B26B-882ECDE4842B}
Threading model: Free
ProgramID: newObjects.net.SocketStream.free
ClassID: {2BE49089-B6AF-49d0-85F5-BE13A247AB2B}
SocketAddress
Threading model: Both
Program ID: newObjects.net.NSSocketAddress
ClassID: {5EFD8414-A47D-441C-8C38-8DF412AF13D6}
IRDADeviceInfo
Threading model: Both
Program ID: newObjects.net.IRDADeviceInfo
ClassID: {89E1207A-6D8B-4999-8064-9188C3C603D7}
SockOpt
Threading model: Both
Program ID: newObjects.net.SockOpt
ClassID: {5B147DE0-95AD-4949-A6FC-DCC1724883BB}
SocketSelectHelper
Threading model: Both
Program ID: newObjects.net.SocketSelectHelper
ClassID: {B8C5E021-EDE4-4090-B98F-F38D34AFF4BE}
|