Add TCP read timeout to server ping

See #1321, #1348, #1357
This commit is contained in:
ORelio 2020-12-05 14:23:28 +01:00
parent 53bd56100f
commit aee09d9f52
2 changed files with 2 additions and 0 deletions

View file

@ -804,6 +804,7 @@ namespace MinecraftClient.Protocol.Handlers
{ {
string version = ""; string version = "";
TcpClient tcp = ProxyHandler.newTcpClient(host, port); TcpClient tcp = ProxyHandler.newTcpClient(host, port);
tcp.ReceiveTimeout = 30000; // 30 seconds
tcp.ReceiveTimeout = 5000; //MC 1.7.2+ SpigotMC servers won't respond, so we need a reasonable timeout. tcp.ReceiveTimeout = 5000; //MC 1.7.2+ SpigotMC servers won't respond, so we need a reasonable timeout.
byte[] ping = new byte[2] { 0xfe, 0x01 }; byte[] ping = new byte[2] { 0xfe, 0x01 };
tcp.Client.Send(ping, SocketFlags.None); tcp.Client.Send(ping, SocketFlags.None);

View file

@ -1338,6 +1338,7 @@ namespace MinecraftClient.Protocol.Handlers
{ {
string version = ""; string version = "";
TcpClient tcp = ProxyHandler.newTcpClient(host, port); TcpClient tcp = ProxyHandler.newTcpClient(host, port);
tcp.ReceiveTimeout = 30000; // 30 seconds
tcp.ReceiveBufferSize = 1024 * 1024; tcp.ReceiveBufferSize = 1024 * 1024;
SocketWrapper socketWrapper = new SocketWrapper(tcp); SocketWrapper socketWrapper = new SocketWrapper(tcp);
DataTypes dataTypes = new DataTypes(MC18Version); DataTypes dataTypes = new DataTypes(MC18Version);