2015-12-02 1 views
0

У меня есть много экрана в моем приложении WPF, в котором используется сокет. Фактически весь экран создает новый Socket для того же сервера, но это не самая лучшая идея. Каков хороший дизайн для совместного использования одного сокета в приложении?Доля такого же сокета в приложении WPF

благодаря

+0

Это слишком открытый вопрос для этого сайта. Если у вас возникли проблемы, отправьте код, чтобы мы могли вам помочь. – WasGoodDone

+0

Мое приложение - клиент (WPF) - сервер (WPF). На всех экранах создается соединение с сервером через сокет. Но при 10 открытых экранах у меня есть 10 сокетов между одним и тем же клиентом-сервером. Если я хочу создать только один сокет для приложения и поделиться соединением всем экраном, какой шаблон/технология использовать? спасибо –

+0

Будут ли все 10 экранов одинаковыми? –

ответ

1

Если предположить, что ваши 10 Экраны из одного приложения

Класс, который вы создаете, что связь с сервером может быть с использованием шаблона Singleton http://www.dotnetperls.com/singleton-static

Это означает, что accross в целом приложение этот класс будет тем же классом, который вы инициализировали сначала, этот класс откроет соединение с сервером и отправит/получит данные.

Обязательно используйте Sequential identifier при отправке и получении, чтобы узнать, какая форма отправлена ​​и должна получать данные.

Также убедитесь, что вы используете какую-то систему сохранения очереди для отправки данных.

Надеюсь, что это поможет

+0

Нет необходимости в синглете - просто создайте один объект и передайте ссылку на него всем экранам, которые должны его использовать. Это упростит зависимость между вашим кодом и упростит тестирование. –

+0

Это тоже хороший подход. –

+0

спасибо, что я ищу, наверное, тоже сложно. –