Почему когда я запускаю поток, сокет отключается? - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь подключить несколько tcp-клиентов к моему серверу (я использую Asyn cNet lib от github).

Когда я получаю сообщение, я пытаюсь запустить новый поток (для отправки / receive с sycn comunication):

private void TcpServer_FrameArrived(object sender, AsyncNet.Tcp.Remote.Events.TcpFrameArrivedEventArgs e)
    {
        var peer = e.RemoteTcpPeer;
        guiMod.Message = $"Server received: " + $"{System.Text.Encoding.UTF8.GetString(e.FrameData)}";
        Socket client = peer.TcpClient.Client;
        Thread currentThread = new Thread(() => net.CheckFrameReceived(ref client, peer.IPEndPoint, e.FrameData));
        currentThread.Start();

    }

до начала потока, client.Connected имеет значение true; но когда я нахожусь внутри метода CheckFrameReceived, клиент не подключен, и я не могу отправить и получить сообщение.

Почему это происходит?

Спасибо

...