irfankhan200 Ответов: 2

асинхронное программирование сокетов в c#, проблема кросс-потокового доступа


Привет всем,

Я работаю над настольным приложением на базе клиента/сервера. Я использую асинхронный режим сокета для подключения клиента и сервера. Я посылаю некоторый текст от клиента к серверу, и там на сервере функция обратного вызова receive получает данные. Когда я пытаюсь вставить полученный текст в элемент управления Textbox на форме отображения сервера. Я получаю следующее исключение.

"Недопустимая операция кросс-потока: управление 'txtMessage' осуществляется из потока, отличного от потока, в котором оно было создано."

Я понятия не имею, как отобразить полученные данные в текстовом поле рабочего стола?

заранее спасибо за ваше время.

2 Ответов

Рейтинг:
1

_Amy

Если вы используете многопоточность для повышения производительности приложений Windows Forms, вам необходимо убедиться, что вызовы элементов управления выполняются потокобезопасным способом.
Ссылаться : Как сделать потокобезопасные вызовы элементов управления Windows Forms[^]


--Амит


Maciej Los

Хороший ответ, +5!
Видишь мой ;)

_Amy

Спасибо Мацей. :)

Рейтинг:
0

_Amy

+5!

Maciej Los

Спасибо, Амит ;)