Отправлять команды tcp через новую форму

Я могу открыть соединение TcpClient на C #, открыть сетевой поток и успешно отправить команды. Я смог войти, используя имя пользователя и пароль. Затем отправил несколько команд для управления системой, и она работает нормально.

Как я могу отправлять команды в тот поток, который я уже открыл, если я создаю новую форму?

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


person nege0    schedule 11.12.2012    source источник
comment
Я отредактировал ваше название. См. Должны ли вопросы включать «теги» в свои заголовки?, где нет единого мнения, не следует.   -  person John Saunders    schedule 12.12.2012
comment
вы можете использовать эту ссылку: csharp-examples.net/socket-send-receive   -  person Arash    schedule 12.12.2012
comment
Спасибо, Джон, и спасибо, Араш, за хорошую информацию.   -  person nege0    schedule 12.12.2012


Ответы (1)


Вы должны создать отдельный класс, который инкапсулирует поведение, связанное с сетью. Ваш TcpClient будет создан в этом классе. Затем вы можете передать ссылку на этот класс новым формам в их конструкторе или использовать шаблон Singleton.

Обратите внимание, что разделение несвязанного поведения (например, графического интерфейса пользователя и сети) является хорошей идеей.

person sjmeverett    schedule 11.12.2012
comment
Я создал класс telnet, из которого я устанавливаю соединение TcpClient и сетевой поток. Я просто создаю экземпляр этого класса из главной формы. Затем открываю другую форму и отправляю из нее данные. Я думаю, что могу двигаться в правильном направлении, но пропустил один шаг. Спасибо за информацию - person nege0; 12.12.2012
comment
Передайте ссылку на ваш класс telnet другим формам - person sjmeverett; 12.12.2012