1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 16:36:15 +00:00

added locks to socket

This commit is contained in:
JKorf 2018-12-18 13:41:40 +01:00
parent 90dac4a0d6
commit 4b382ed480

View File

@ -115,7 +115,7 @@ namespace CryptoExchange.Net.Sockets
{
while (true)
{
if (socket == null || socket.State != WebSocketState.Open)
if (socket?.State != WebSocketState.Open)
return;
if (DateTime.UtcNow - LastActionTime > Timeout)
@ -164,17 +164,23 @@ namespace CryptoExchange.Net.Sockets
}
public virtual void Reset()
{
lock (socketLock)
{
socket.Dispose();
socket = null;
}
}
public virtual void Send(string data)
{
socket.Send(data);
lock (socketLock)
socket?.Send(data);
}
public virtual async Task<bool> Connect()
{
lock (socketLock)
{
if (socket == null)
{
@ -190,6 +196,7 @@ namespace CryptoExchange.Net.Sockets
socket.MessageReceived += (o, s) => Handle(messageHandlers, s.Message);
socket.DataReceived += (o, s) => HandleByteData(s.Data);
}
}
return await Task.Run(() =>
{