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:
parent
90dac4a0d6
commit
4b382ed480
@ -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(() =>
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user