NetStreams NetStreams

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}

 

 

newObjects Copyright 2001-2006 newObjects [ ]