我是第一次发布海报,但是很长时间的用户,因为这个社区经常帮助我,我希望你能再一次。
我的问题如下:我正在构建一台通过网络控制的机器,它有一个连接在XY工作台上的相机。我需要能够实时控制这张桌子以及摄像机,但摄像机图片的直播非常迟缓且无法响应。
我正在使用.NET和WCF作为网络部分,当前所有内容都在同一台计算机上运行,但是相机之间仍有很大的延迟(~500 / 1000ms)并在屏幕上显示图片。
另一方面,我也有一个问题,即服务器显然无法同时发送和接收消息,例如。服务器收到一个命令,需要发送一张图片,导致他放弃命令,只发送图片。
我希望有人有这些问题的经验,提前谢谢你!
我的服务:
<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)
客户端:
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
图像传输通过将内存流处理到客户端来进行,然后客户端将其转换回位图。然后位图显示在图片框中。所有方法都被声明为一种方式,因为不这样做也会导致问题。