itcecsa
I have 2 data adapters connecting to 1 lightstreamer server on a machine. I am using .net adapter SDK.
In adapters.xml I have 2 data_provider with different id
<data_provider id="ProductIds">
<data_provider id="ProductPrices">
the 2 data adapters talking to lightstreamer with 1 on notify stream port 6664 and one on notify stream on port 8888. I got the following exception on second data adapter
Lightstreamer.DotNet.Server.RemotingException: Exception caught while writing on the notify stream: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. ---> System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at Lightstreamer.DotNet.Server.RequestReply.NotifySender.Run() in c:\LIGHTSTREAMER\PROJECT_Lightstreamer_3_Remote_Adapter_1\DotNetAdapter\Source\RequestReply.cs:line 208
--- End of inner exception stack trace ---
System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. ---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at Lightstreamer.DotNet.Server.RequestReply.NotifySender.Run() in c:\LIGHTSTREAMER\PROJECT_Lightstreamer_3_Remote_Adapter_1\DotNetAdapter\Source\RequestReply.cs:line 208
System.Net.Sockets.SocketException (0x80004005): An established connection was aborted by the software in your host machine
at System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
what's wrong here? did I not set adapters.xml correctly? if not, what is the correct way to set it?
however, it seems like the second data adapter was able to send Item Event to lightstreamer server. I use the following method for updating
voidUpdate (stringitemName , IDictionary itemEvent, boolisSnapshot );
my question here is:
for items subscribed to lightstreamer server with data adapter id "ProductIds", I actually update it on data adapter with id "ProductPrices", will that subscribed item being notified by lightstreamer server?
thanks!
Giuseppe Corti
Hi itcecsa,
It seems that the problem is due to the fact that the server closes the notify stream socket reserved for "ProductPrices" on arrival of the first messages.
Since you're using port 8888 and that this port in the factory configuration is reserved for RMI connections you should make sure that in the section <rmi_connector> of the file lightstreamer_conf.xml the parameter <port ssl="N"> has been changed and therefore not conflicting with the "ProductPrices" notification stream port. Or please, try to use a different port for the notify stream of your adapter number 2.