I'm a first time poster but long time user and since this community helped me out often already I hope you can once more.
My problem is the following: I'm building a machine that is controlled over a network, it has a camera attached to it that is on a XY-table. I need to be able to control this table and therefore the camera in real time, but the livestream of the camera picture is very laggy and unresponsive.
I'm using .NET and WCF for the network part, everything is running on the same computer currently but yet still there is a huge delay (~500/1000ms) between camera and showing the picture on screen.
On a different note, I also have the problem that the server can't send and recieve messages at the same time apparently, eg. the server recieves a command and needs to send a picture which causes him to drop the command and only send the picture.
I hope somebody has experience with those problems, thank you in advance!
My Service:
<ServiceBehavior(ConcurrencyMode:=ConcurrencyMode.Single,
InstanceContextMode:=InstanceContextMode.PerSession,
IncludeExceptionDetailInFaults:=True)>
Public Class clsNetworkService
Implements INetworkService
Private m_Connection As INetworkClient
Public Sub Login(pi_sUserName As String) Implements INetworkService.Login
m_Connection = OperationContext.Current.GetCallbackChannel(Of INetworkClient)
Client:
m_ChannelFactory = New DuplexChannelFactory(Of INetworkService)(m_Client, "ChatServiceEndpoint")
m_Server = m_ChannelFactory.CreateChannel()
Try
m_Server.Login(Environment.UserName)
Catch ex As EndpointNotFoundException
End Try
The image transfer happens by handing a memorystream to the client which he then converts back into a bitmap. The bitmap is then being displayed in a picturebox. All methods are declared as one way because not doing so caused problems as well.