看起来WCF TCP连接不是持久的.首次ping回复需要一段时间,但后续进程需要较少的时间.过了一段时间又需要很长时间 - 另一个重新连接?
SERVER>在net.tcp上启动://0.0.0.0:999
客户端>创建到net.tcp的连接:// localhost:999 //不是真正的连接,准备连接
客户端> 1s163ms内的Ping回复//第一次连接
客户端> 22毫秒Ping回复//已连接
客户端> 26ms的Ping回复
客户端> 24ms内Ping回复
客户端> 325毫秒Ping回复//重新连接
客户端> 19ms的Ping回复
客户端> 767ms内的Ping回复//重新连接
如果是的话,tcp连接断开之前的空闲时间值是多少?我需要保持连接活着.
更新修改代码:
NetTcpBinding tcpBind = new NetTcpBinding();
tcpBind.ReliableSession.Enabled = true;
tcpBind.ReliableSession.Ordered = true;
tcpBind.ReliableSession.InactivityTimeout = TimeSpan.FromMinutes(10);
ServiceHost svh = new ServiceHost(typeof(ServiceImplementation));
svh.AddServiceEndpoint(
typeof(WCFSimple.Contract.IService),
//new NetTcpBinding(),
tcpBind,
String.Format("net.tcp://{0}:{1}", ip, port));
svh.Open();
Run Code Online (Sandbox Code Playgroud)
现在我又出了一个错误:
此端点不支持该操作http://tempuri.org/IService/Pong.此端点仅处理WS-ReliableMessaging二月2005消息.
更新我只修改了服务器端,它导致了错误.然后我将客户端的TCP修改为可靠的消息传递.
我不认为 Ping 是测试 TCP 连接的好工具。因为Ping使用ICMP作为其底层协议而不是TCP。
我建议您创建一个WCF客户端,连接到服务,然后通过一些网络嗅探工具检查TCP连接,或者简单地使用netstat进行快速检查。
| 归档时间: |
|
| 查看次数: |
2517 次 |
| 最近记录: |