1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-24 22:55:40 +00:00

added locks to socket

This commit is contained in:
JKorf
2018-12-18 13:41:40 +01:00
parent 90dac4a0d6
commit 4b382ed480
+9 -2
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(() =>
{