我有一个连接的痕迹,其中收取的信用额超过了服务器授予的信用数量。 还有可能客户端之后发送任何更多的请求,没有服务器授予更多的信用? 在此之后,我有一些更多的读取请求,其中客户的信用额变为零。
答案 0 :(得分:0)
根据MS-SMB2,客户端应等待在发送更多请求之前从服务器授予新的信用。 SMB2标头的CreditCharge字段不能大于序列窗口中的可用信用。如果需要的信用额度超过客户端可用的数量,则客户端不应发送请求。一个技巧是减少所请求的读操作的长度,以便您可以将其放入序列窗口。
答案 1 :(得分:0)
根据MS specifications for SMB2,服务器必须确保客户端不能达到零信用,否则客户端将不再能够发送更多消息:
服务器必须确保客户端拥有的信用数 永远不会减少到零。如果出现这种情况,则无法 客户发送后续请求以获取更多信用。
因此,如果客户没有信用,则表明服务器存在错误。