WCF速度慢且无响应,我该如何改进代码?

时间:2016-11-30 09:16:43

标签: c# .net vb.net wcf networking

我是第一次发布海报,但是很长时间的用户,因为这个社区经常帮助我,我希望你能再一次。

我的问题如下:我正在构建一台通过网络控制的机器,它有一个连接在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

图像传输通过将内存流处理到客户端来进行,然后客户端将其转换回位图。然后位图显示在图片框中。所有方法都被声明为一种方式,因为不这样做也会导致问题。

0 个答案:

没有答案