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

C# WCF速度慢且无响应,如何改进代码?,c#,.net,vb.net,wcf,networking,C#,.net,Vb.net,Wcf,Networking,我是第一次贴海报,但使用了很长时间,因为这个社区经常帮助我,我希望你能再次使用 我的问题是:我正在建造一台通过网络控制的机器,它有一个连接在XY工作台上的摄像头。我需要能够实时控制这个桌子和相机,但是相机图片的实时流非常滞后和无响应 我正在使用.NET和WCF作为网络部分,目前所有东西都在同一台计算机上运行,但在摄像头和在屏幕上显示图片之间仍然存在巨大的延迟(~500/1000ms) 另一方面,我也有一个问题,服务器显然不能同时发送和接收消息,例如,服务器接收到一个命令,需要发送一张图片,这导致

我是第一次贴海报,但使用了很长时间,因为这个社区经常帮助我,我希望你能再次使用

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

图像传输是通过将一个memorystream传递给客户机,然后客户机将其转换回位图来实现的。位图随后显示在一个picturebox中。所有方法都声明为单向,因为不这样做也会导致问题。

您可以使用多个通道来接收图像并发送命令,这样就不会再相互阻塞。如何改进代码?-我不知道。我还没有看到你的代码。为什么不把它展示给我们:)正如@TomRedfern所指出的,没有代码,没有帮助:)不看代码就很难指出任何问题。无论如何,我可以建议您阅读您的服务传输数据的方式:而且,对于stream,可以使用WCF以外的其他选项,如direct socket或Microsoft Expression Encoder SDK。您可以使用多个通道接收图像并发送命令,这样它就不会再相互阻塞。我如何改进代码?-我不知道。我还没有看到你的代码。为什么不把它展示给我们:)正如@TomRedfern所指出的,没有代码,没有帮助:)不看代码就很难指出任何问题。无论如何,我可以建议您阅读您的服务传输数据的方式:而且,对于流,可以使用WCF以外的其他选项,如直接套接字或Microsoft Expression Encoder SDK。
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