-
September 23rd, 2006, 12:48 PM
#1
Standalone application
Hello dear colleagues,
It there a possibility to get somewhere a full example of a stand-alone .NET application connecting to the Lightstreamer?
From the ReadMe.pdf it's clear how to connect the data adapter to the DataProviderServer object, for the metadata provider it should be very similar, but it's not clear at all how to use RequestStream, ReplyStream and NotifyStream properties, WHAT EXACTLY to pass there and how to use these streams then...
Thanks in advance for the reply,
Nikit ZYKOV
Signature Technologies CTO
-
September 25th, 2006, 11:31 AM
#2
Hi Nikit,
The .NET Adapter API uses the Adapter Remoting Infrastructure (ARI) in roder to allow developers to write Lightstreamer Data and Metadata dapters with .NET instead of Java. So you don't need to see any streams, that are transparently handled by the ARI.
Perhaps you are referring to a .NET stand-alone application that should be a CLIENT of Lightstreamer (i.e. receive data from LS and not send data to LS as a feed)?
Cheers
-
September 25th, 2006, 11:59 AM
#3
Hi Alessandro,
I refer to the _server_ application, using only the DLL version of your connector, referred in the readme.pdf as "How to run the .Net adapter from inside your application". It's stated there that I have to set RequestStream, ReplyStream and NotifyStream properties for the DataProviderServer object, and I don't see what to put to these properties and why do I have to use these streams...
Regards,
Nikit
-
September 25th, 2006, 12:15 PM
#4
An other question: what's the port number you're using for your remoting connections?
-
September 25th, 2006, 12:29 PM
#5
Hi Nikit.
The three stream properties need to be set to three streams connected to the Java remote adapter counterpart. For example, something like this could do the job:
Code csharp:
TcpClient rrSocket
= new TcpClient
(host, rrPort
);
TcpClient notifSocket
= new TcpClient
(host, notifPort
);
server.RequestStream= rrSocket.GetStream();
server.ReplyStream= rrSocket.GetStream();
server.NotifyStream= notifSocket.GetStream();
The three streams must be supplied by you because they could be obtained in any way: network socket streams, local piped input/output streams, or anything else. Moreover, there's no standard way of controlling their connection status and how to recover connection failures: the provided server implementation simply exits on connection drop, but you can override its behaviour by overriding the OnException method.
Best regards,
Gianluca
-
September 25th, 2006, 12:48 PM
#6
Hi Gianluca,
Ok, in this case my question is how to connect these streams, I have look at the properties of the LightStreamer server, right? In the Lightstreamer configuration that you provide in standard, if I run the .NET server and the Lightstreamer server on the same machine, which port numbers do I use for localhost and where these ports are configured in the LightStreamer configuration?
Regards,
Nikit
-
September 25th, 2006, 02:02 PM
#7
The configuration of the TCP ports can be found in the adapters.xml file of the Proxy Adapters (i.e. the NetworkedMetadataProvider and NetworkedDataProvider classesthat are contained in ls-remote-adapter.jar).
For a full example of such configuration please refer to:
Lightstreamer\sdk_for_dotnet-adapters\examples\DotNetStockListDemo\Standalone_V ersion_Deployment\Deployment_LS\StockList_sockets\ adapters.xml
If you prefer to use a pipe commumication, refer to:
Lightstreamer\sdk_for_dotnet-adapters\examples\DotNetStockListDemo\Piped_Versio n_Deployment\Deployment_LS\StockList_pipes\adapter s.xml
-
September 25th, 2006, 02:12 PM
#8
Hi Alessandro,
Do you mean by this that I have to use two server objects: one for data and one for metadata adapter? I see that in the config files the port numbers are different for two cases...
And as I have only one request_reply_port parameter for each, I use for each of two adapters the same port numbers for the request and reply streams with simply two distinct TcpConnect objects, right?
Regards,
Nikit
-
September 25th, 2006, 02:36 PM
#9
Nikit,
Basically you have to create three client sockets (two for the Data Adapter and one for the Metadata Adapter).
Example:
Code csharp:
MetadataProviderServer metadataServer
= new MetadataProviderServer
();
DataProviderServer dataServer
= new DataProviderServer
();
TcpClient metadataRRSocket
= new TcpClient
(host,
6663);
TcpClient dataRRSocket
= new TcpClient
(host,
6661);
TcpClient dataNotifySocket
= new TcpClient
(host,
6662);
metadataServer.RequestStream = metadataRRSocket.GetStream();
metadataServer.ReplyStream = metadataRRSocket.GetStream();
dataServer.RequestStream = dataRRSocket.GetStream();
dataServer.ReplyStream = dataRRSocket.GetStream();
dataServer.NotifyStream = dataNotifySocket.GetStream();
Similar Threads
-
By karthik in forum Client SDKs
Replies: 3
Last Post: July 7th, 2010, 10:43 AM
-
By gmotodd in forum Client SDKs
Replies: 8
Last Post: May 4th, 2009, 12:51 PM
-
By sjohn in forum Adapter SDKs
Replies: 7
Last Post: February 18th, 2008, 08:50 AM
-
By riaanj in forum Adapter SDKs
Replies: 15
Last Post: September 26th, 2007, 09:30 AM
-
By wattsw in forum Adapter SDKs
Replies: 2
Last Post: November 13th, 2006, 05:12 PM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
All times are GMT +1. The time now is 10:54 PM.
Bookmarks