gpt4 book ai didi

c# - 指定的参数超出范围 C#

转载 作者:可可西里 更新时间:2023-11-01 10:36:27 28 4
gpt4 key购买 nike

我是 C# 的新手,所以我不知道为什么在 Windows 7 中我的应用程序(程序)可以完美运行,而在 Windows Server 2012 上我在尝试从客户端获取消息时出现此错误。 C#。

错误:

system.argumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: Size. at system.net.sockets.networkStream.Read(Byte[] buffer, int32 offset, int32 size)

发送函数:

byte[] outStream = System.Text.Encoding.ASCII.GetBytes(textBox2.Text + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();

接收函数:

NetworkStream networkStream = clientSocket.GetStream();
networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));
Console.WriteLine("From client - " + clNo + " : " + dataFromClient);

这一行的问题:

networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);

也许在这里:(int)clientSocket.ReceiveBufferSize

如何解决这个问题,有什么想法吗?

最佳答案

我现在只需要处理 TCP 套接字,我找到了这个示例代码,得到了同样的错误信息。我在网上搜索了以下内容:

改变这个:

networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);

进入这个:

networkStream.Read(bytesFrom, 0, bytesFrom.Length);

如果您在客户端遇到类似的错误,只需检查相同的 .Read() 部分。应用使用 .Length 属性的相同解决方案。

关于c# - 指定的参数超出范围 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23794225/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com