Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Принятие подлкючения 
:(
    Опции темы
Miller_time
Дата 22.10.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

Репутация: нет
Всего: 1



Народ подскажите что подпарвить в этом коде что бы приложение продолжало работать

Код

class GetConnections
    {
        private const int ServerPort = 4576;

        public void accept()
        {
            Form1 frm = new Form1();

            try
            {
                Socket listenSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

                try
                {
                    IPEndPoint listenEP =new IPEndPoint(IPAddress.Any, ServerPort);
                    listenSocket.Bind(listenEP);
                    listenSocket.Listen(5);
                    Socket clientSocket = null;

                    while (true)
                    {
                        System.Windows.Forms.Application.DoEvents();
                        clientSocket = listenSocket.Accept();
                       
                        NetworkStream stream = new NetworkStream(clientSocket);
                        StreamReader reader = new StreamReader(stream);
                        StreamWriter writer = new StreamWriter(stream);
                        string readBuf = reader.ReadLine();
                        if (readBuf != null && readBuf.Length > 0)
                        {
                            writer.WriteLine(readBuf);
                            writer.Flush();
                            frm.label1.Text = readBuf;

                        }
                        clientSocket.Shutdown(SocketShutdown.Both);
                        writer.Close();
                        reader.Close();
                        stream.Close();
                        clientSocket.Close();
                        clientSocket = null;
                    }
                }
                finally
                {
                    listenSocket.Close();
                }
            }
            catch (Exception e)
            {
                frm.label1.Text = e.ToString();
            }
        }
    }


Код на принятие данных от клиента, приека данных происходит через цикл, как сделать что бы при запуске метода прилоожение все еще продолжало работать ? 


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
SpaceSpace
Дата 23.10.2008, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 10.4.2007
Где: Самара

Репутация: 2
Всего: 10



Сделай таймер, обработку засунь в отдельный поток.


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
Miller_time
Дата 23.10.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

Репутация: нет
Всего: 1



засунь в отдельный поток.? можно поподробнее ?


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
Miller_time
Дата 23.10.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

Репутация: нет
Всего: 1



       С этим  вроде разобраллся, подскажите как сделать проверку для сервера, в сети он или уже закрыл соеденение ?

Код

     Socket server = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
           
//Вот для этого нужна проверка.
server.Send(Encoding.ASCII.GetBytes(input));



--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
Miller_time
Дата 23.10.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

Репутация: нет
Всего: 1



вообщем надо как то проверить что пользователь не отлючился вдруг подскажите как это сделать ?


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.