Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2014, 20:01   #1
Eustacce
 
Регистрация: 23.07.2014
Сообщений: 9
По умолчанию Взаимодействие Forms и кода Сервера

Подскажите пожалуйста, как правильно организовать взаимодействие forms и кода сервера. Необходимо, чтобы на форме были кнопки для запуска, остановки сервера, ну и поле, в котором показывается статус сервера. Сервер из себя представляет вот такой код как в примере
http://msdn.microsoft.com/en-us/libr...vs.110%29.aspx
Пытаюсь подключить код формы и сервера так, что из формы запускаю сервер
Код:
class Program
{
        static int Main(string[] args)
        {
            ServerForm f = new ServerForm(); 
            Application.Run();
        }
}
 
class ServerForm : Form
{
   public ServerForm()
        {
            initForm();
            this.Visible = true;
            this.Click += delegate(Object sender, EventArgs e)
            {
                AsynchronousSocketListener.StartListening();
            };
        }
}
AsynchronousSocketListener.StartLis tening() собственно запускает сам сервер который ожидает когда к нему подконектится клиент.
В этом месте форма подвисает.
Что я делаю неправильно?

Последний раз редактировалось Eustacce; 23.07.2014 в 20:55.
Eustacce вне форума Ответить с цитированием
Старый 23.07.2014, 20:21   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Eustacce Посмотреть сообщение
Код:
ServerForm f = new ServerForm();
Уже не правильно. У Вас конструктор принимает SocketManager. Вы вызываете конструктор без него. Странно, что программа вообще компилируется.
Также не понятно зачем создавать форму в консольном приложении?
Есть же, например, Windows Forms.
В помощь:
Асинхронный пример сокета сервера
P.S. Ваша ссылка не работает.
Streletz вне форума Ответить с цитированием
Старый 23.07.2014, 20:54   #3
Eustacce
 
Регистрация: 23.07.2014
Сообщений: 9
По умолчанию

SocketNManager удалил.
Это та самая ссылка что я давал. Вопрос - как к ней привязать форму?

Последний раз редактировалось Eustacce; 23.07.2014 в 20:57.
Eustacce вне форума Ответить с цитированием
Старый 23.07.2014, 21:18   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Eustacce Посмотреть сообщение
Вопрос - как к ней привязать форму?
Привязывать надо не форму к коду по ссылке, а наоборот код по ссылке к форме.
По ссылке приведён код 2х классов. Необходимо скопировать его в модули C#. Возможно, несколько доработать. Лучшим решением было бы сделать отдельную сборку с этими классами (ИМХО).
И то и другое можно легко подключить к проекту в Visual Studio. После этого оба класса можно будет использовать в коде формы.
Eustacce, Вам бы лучше всего, для начала, почитать основы Windows Forms, а также самой .NET. Это вряд ли займёт много времени, но зато очень многое сразу станет понятно.
Streletz вне форума Ответить с цитированием
Старый 23.07.2014, 21:22   #5
Eustacce
 
Регистрация: 23.07.2014
Сообщений: 9
По умолчанию

Согласен. А где почитать?
Eustacce вне форума Ответить с цитированием
Старый 30.07.2014, 05:58   #6
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Вот тебе ссылка (пример чата на формах, не в консоли), сам разбирайся. У меня пару часов ушло, учитывая что я впервые с асинхронностью сталкивался.
http://www.codeproject.com/Articles/...us-TCP-Sockets
Асинхронный пример сервера и клиента. Только вот класс Data переписать бы с нуля, чтоб без Enum'ов был (сложно поддерживать на нескольких клиентах, проще string).
alextrof94$gmail.com

Последний раз редактировалось alextrof94; 30.07.2014 в 06:00.
alextrof94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осуществить взаимодействие клиента и сервера на основе протокола UDP Ladis Помощь студентам 0 04.03.2014 00:57
Самый простой и проверенный спобоб разделения кода от интерфейса при написании базы данных на C# (Win Forms) programisto Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 18.05.2013 23:48
Распознавание Аски кода и скан кода MyLastHit Общие вопросы Delphi 8 06.12.2010 18:34
Загрузка кода с другого сервера Форсировка JavaScript, Ajax 2 18.11.2010 11:26
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51