我希望在.NET中开发一个客户端 - 服务器应用程序,其功能如下:
我只是想知道我是否可以为此目的使用WCF,或者我应该使用旧的套接字.虽然初始网络很小,但我希望它可以扩展(1000个客户端).任何建议将不胜感激.
今天,除非你确实需要,否则我永远不会深入到像套接字这样低的水平。使用高级抽象会更加富有成效和创造性。最好花 2-3 天学习 WCF 或 .Net Remoting,然后花 2 周调试低级套接字内容。
几周前我们也做出了类似的决定。我们决定使用远程处理,因为您可以在对象级别上工作,它的设置非常简单并且非常高效。我们本来可以使用 WCF,但设置起来没那么简单。
Remoting 或 WCF 的一大优点是您可以在服务器和客户端之间传递对象并在每一端调用它们的方法。
假设您已经为相机编写了一个抽象,例如:
class Camera
{
public CompressedImage GetFrame()
{
....
return image;
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以在服务器上创建一个远程对象并编写如下内容:
var cam = SomeClientObject.GetCamera(); //get proxy object for the cam
....
var frame = cam.GetFrame();
Run Code Online (Sandbox Code Playgroud)
如果图像是可序列化的,它将调用客户端上的方法 GetFrame() 并通过(内部)网络向您传递图像。您唯一需要记住的是,哪些对象在另一端创建代理,以及哪些对象被复制到另一端。
这真的很强大,对我们来说就像一种魅力。因此,请把您的思想从套接字中解放出来:)
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |