gpt4 book ai didi

c# - 如何在 C# 中使用 "using"而不获取 "InvalidOperationException"?

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:11 27 4
gpt4 key购买 nike

我正在尝试替换以下可以正常工作的代码

TcpClient oC = new TcpClient(ip, port);
oC = new TcpClient(ip, port);
StreamReader messageReader;

try {
messageReader = new StreamReader(oC.GetStream(), Encoding.ASCII);
reply = messageReader.ReadLine();
}

try {
using (messageReader = new StreamReader(oC.GetStream(), Encoding.ASCII))
{
reply = messageReader.ReadLine();
}
}

但是我得到一个 InvalidOperationException

The operation is not allowed on non-connected sockets.

问题是什么,我该如何解决?

更多: 我在这段代码之前有 oc.Connect,所以我连接上了,当它想第一次使用时工作正常,只有在那之后我才得到那个异常,我玩了一下,现在我得到:

Cannot access a disposed object.\r\nObject name: 'System.Net.Sockets.Socket'.

最佳答案

在创建 StreamReader 之前尝试调用 oc.Connect。在连接套接字之前,没有任何内容可实际读取,因此是异常。

关于c# - 如何在 C# 中使用 "using"而不获取 "InvalidOperationException"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/586530/

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