remoting 中,如何选择客户端信道
在客户端注册多个信道,我如何能指定信道和服务端通信? --------------------编程问答-------------------- 微软会自己挑一个 --------------------编程问答-------------------- 你说的是废话,这我当然知道。我这样应用是因为客户端的多个信道分别邦定在多个网卡的IP上,希望通信的时候,能用指定的网卡和服务端通信。这样以分担不同网卡的IO。--------------------编程问答-------------------- 滚易做图! --------------------编程问答-------------------- 谦虚点嘛,怎么上来就骂人。 --------------------编程问答-------------------- 把网卡的IP绑定到信道上即可 --------------------编程问答-------------------- 好像服务端才有bindto属性,客户端没有,如下是客户端可用属性:
domain
machineName
name
password
priority
protectionLevel
retryCount
secure
servicePrincipalName
socketCachePolicy
socketCacheTimeout
timeout
tokenImpersonationLevel
username
--------------------编程问答-------------------- 再说,就算可以,我如何选择我要用的多个客户端信道中的一个呢?
还有个问题,我如何能指定客户端信道的端口,我需要指定,避免自动选择,以免占了别的应用程序的端口。因为别的应用程序会在我的程序之后启动。 --------------------编程问答-------------------- 如果你用不同类型的信道就没问题了,如分别用tcp和http信道,在客户端调用的时候通过url指明协议即可。当然这是投机取巧的办法,呵呵。同样的问题困惑中 --------------------编程问答-------------------- 结贴,该问题无法解决.因为客户端通道在和服务端通道通信的时候可能会生成多个的套接字连接,因此你无法具体制定某一个端口,如果可以指定某一端口,象多进程使用该客户端通道的时候无法并行进行通信.其实客户端通道在连接服务端通道的时候,会选择未使用端口创建套接字和服务端连接,根据程序的需要,甚至会产生多个套接字和服务端连接来完成任务. --------------------编程问答-------------------- 仔细的去看微软的.net帮助文档,
那里都有说明,看不明显,微软总是隐隐约约的描述,认真的多看几次吧. --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 以后需再关注,现在先帮你顶一下 --------------------编程问答-------------------- --------------------编程问答-------------------- System.Collections.IDictionary dict =
new System.Collections.Hashtable();
dict["port"] = 9090;
dict["useIpAddress"] = true;
dict["machineName"] = "your ip";
// Set up the server channel.
TcpChannel serverChannel = new TcpChannel(dict, null, null);
ChannelServices.RegisterChannel(serverChannel);
补充:.NET技术 , .NET Framework