Browse Source

Merge f7ba519989 into 8f0bc1933a

pull/46/merge
Master Kwoth 9 years ago
parent
commit
25101719cc
2 changed files with 15 additions and 11 deletions
  1. +6
    -2
      src/Discord.Net.Audio/Net/VoiceSocket.cs
  2. +9
    -9
      src/Discord.Net/DiscordClient.cs

+ 6
- 2
src/Discord.Net.Audio/Net/VoiceSocket.cs View File

@@ -407,7 +407,7 @@ namespace Discord.Net.WebSockets
WebSocketMessage msg;
using (var reader = new JsonTextReader(new StringReader(json)))
msg = _serializer.Deserialize(reader, typeof(WebSocketMessage)) as WebSocketMessage;
var opCode = (OpCodes)msg.Operation;
switch (opCode)
{
@@ -418,7 +418,11 @@ namespace Discord.Net.WebSockets
var payload = (msg.Payload as JToken).ToObject<ReadyEvent>(_serializer);
_heartbeatInterval = payload.HeartbeatInterval;
_ssrc = payload.SSRC;
string hostname = Host.Substring(0, Host.IndexOf('?')).Replace("wss://", "");
string hostname;
if (Host.Contains("?"))
hostname = Host.Substring(0, Host.IndexOf('?')).Replace("wss://", "");
else
hostname = Host.Replace("wss://", "");
var address = (await Dns.GetHostAddressesAsync(hostname).ConfigureAwait(false)).FirstOrDefault();
_endpoint = new IPEndPoint(address, payload.Port);



+ 9
- 9
src/Discord.Net/DiscordClient.cs View File

@@ -529,23 +529,23 @@ namespace Discord
try
{
ulong serverId;
ulong[] serverIds = new ulong[50];
int i = 0;

const short batchSize = 50;
int largeServersCount = 0;
await Task.Delay(2500, cancelToken);
while (true)
do
{
while (_largeServers.TryDequeue(out serverId) && i < 50)
serverIds[i++] = serverId;
if (i > 0)
largeServersCount = 0;
ulong[] serverIds = new ulong[batchSize];
while (largeServersCount < batchSize && _largeServers.TryDequeue(out serverIds[largeServersCount++])) { }
if (largeServersCount > 0)
{
Logger.Verbose($"Downloading data for {largeServersCount} large servers.");
cancelToken.ThrowIfCancellationRequested();
GatewaySocket.SendRequestMembers(serverIds, "", 0);
await Task.Delay(1500, cancelToken);
}
if (i < 50)
break;
}
} while (largeServersCount == batchSize);
await Task.Delay(2500, cancelToken);
EndConnect();
}


Loading…
Cancel
Save