gpt4 book ai didi

c# - 如何改善这个TCP代码?

转载 作者:行者123 更新时间:2023-12-03 12:01:31 25 4
gpt4 key购买 nike

有时,即使服务器,recByte也将无法接收响应
由于服务器速度不够快而没有回复。如果发生了我使用哪个

catch (System.IO.IOException ioe)

以防止错误,但是是否有可能允许客户端等待更长时间的替代方法?
我确实尝试过
clientStream.ReadTimeout = 20000;

但这没用
TcpClient Client = new TcpClient();
Client.Connect(ipaddress, portnum);

NetworkStream clientStream = Client.GetStream();

byte[] buffer = themessagetosent;
clientStream.Write(buffer, 0, buffer.Length);

byte[] recByte = theresponse;
clientStream.Read(recByte, 0, recByte.Length);

最佳答案

您需要增加tcpClient的超时,而不是流的超时。另外,可能想将sendreceive的超时都增加,并且可能要超过2秒。

var client = new TcpClient { SendTimeout = 10000, ReceiveTimeout = 10000 };

我相信,如果您在IOException中查看内部异常,则会在其中看到SocketException。查看错误代码以找出实际发生的情况。

关于c# - 如何改善这个TCP代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195541/

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