首页 新闻 会员 周边

.net remoting 报连接尝试失败

0
悬赏园豆:50 [待解决问题]

客户端是一个多线程的程序,每次负责从文本中每一行取参数,然后调用服务端程序,服务端也只是完成一个读DB然后写redis缓存的工作,这个后台服务端-客户端程序跑着经常会冒出连接失败的错误:

2016-08-09 10:38:14.3602 System.Net.Sockets.SocketException (0x80004005): 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

Server stack trace:
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 System.Runtime.Remoting.Channels.SocketStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 System.Runtime.Remoting.Channels.SocketHandler.ReadFromSocket(Byte[] buffer, Int32 offset, Int32 count)
在 System.Runtime.Remoting.Channels.SocketHandler.Read(Byte[] buffer, Int32 offset, Int32 count)
在 System.Runtime.Remoting.Channels.SocketHandler.ReadAndMatchFourBytes(Byte[] buffer)
在 System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble()
在 System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation)
在 System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders()
在 System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
在 System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

而且客户端的线程数量是做了控制的,只生成了16个thread去复用。

求各位大神解答!

且听风吟lst的主页 且听风吟lst | 初学一级 | 园豆:68
提问于:2016-08-09 10:53
< >
分享
所有回答(2)
0

服务端设置了线程池大小了么?

Daniel Cai | 园豆:10424 (专家六级) | 2016-08-09 16:45

没有的

支持(0) 反对(0) 且听风吟lst | 园豆:68 (初学一级) | 2016-08-10 09:55

@且听风吟lst: 服务端处理速度如何?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-08-10 11:26
0

自己已经解决

且听风吟lst | 园豆:68 (初学一级) | 2016-08-24 18:41

怎么解决的呢?

支持(0) 反对(0) 枯树之花 | 园豆:200 (初学一级) | 2018-03-20 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册