C Sharp GUI / Сокет сокета при обновлении GUI - PullRequest
0 голосов
/ 19 октября 2011

Всякий раз, когда handleResponse вызывает функцию делегата "func", мой GUI падает без исключения.Функция делегата добавляет текст в RichTextBox в графическом интерфейсе.

Если я вызываю this.func в «connect», он работает просто отлично.

private void handleResponse(IAsyncResult result)
{
    try
    {
        this.func.Invoke("test");
    }
    catch (Exception e)
    {
        throw e;
    }
}

public void connect(string ip, int port, delegateFunction func) {     
    try
    {
        connection.Connect(ip, port);
        socket = connection.Client;
        this.func = func;            
        socket.BeginReceive(incomingBuffer, 0, incomingBuffer.Length, SocketFlags.None, handleResponse, null);
    }
    catch (Exception e)
    {
        throw e;
    }
}           

1 Ответ

0 голосов
/ 19 октября 2011

Может быть проблема с многопоточностью.Ваш GUI, вероятно, должен быть обновлен в определенном потоке GUI.Способ переключения на этот поток зависит от используемой вами структуры графического интерфейса.

...