• Почему не работает коммуникация между клиентом и сервером?

    @Slonopotam44 Автор вопроса
    Код версии для клиента.
    public class ClientCommunicator:TcpCommunicatorBase
        {
            public CustomSynchronizationContext SynchronizationContext { get; private set; }
    
            public ClientCommunicator(TcpClient client,Encoding enc) : base(client,enc)
            {
                SynchronizationContext=new CustomSynchronizationContext();
            }
    
            protected override void MessageRecievedAsyncCallback(IAsyncResult ar)
            {
                SynchronizationContext.Post((s) => base.MessageRecievedAsyncCallback(ar), null);
            }
    
            public override void SendMessage(string text)
            {
                SynchronizationContext.Post((s) =>
                {
                    base.SendMessage(text);
                    Debug.Print("From client");
                }, null);
            }
    
            public override void BeginListenForMessage()
            {
                SynchronizationContext.Post((s) => base.BeginListenForMessage(), null);
            }
    
            public override void EndListenForMessage()
            {
                SynchronizationContext.Post((s) => base.EndListenForMessage(), null);
            }
    
            public override void Dispose()
            {
                Disconect();
                SynchronizationContext.Dispose();
            }
    
            public override void ConnectAsync(string adres, int port)
            {
                SynchronizationContext.Post((S) =>
                {
                    Timer connectTimer = new Timer(async (s) =>
                    {
                        if (!_client.Connected)
                            await _client.ConnectAsync(adres, port);
                        if (_client.Connected)
                        {
                            OnConnectionCreated();
                        }
                    }, null, 0, 5000);
    
                    ConnectionCreated += (s, a) => { connectTimer?.Dispose(); };
    
                }, null);
    
            } 
        }

    CustomSynchronizationContext брал отсюда https://habr.com/post/269985/