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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как правильно сделать Disconnect 
:(
    Опции темы
maksar
Дата 11.11.2006, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

                            switch (String.Format("{0:X2}{1:X2}", buffer[0], buffer[1]))
                                {
                                    #region обработка пакета 64 00
                                    case "6400": 
                                        GSock.Connect(new IPEndPoint(IPAddress.Parse("11.11.11.11"), 16900));
                                        GSock.Send(bufferq);
                                        Thread.Sleep(TimeSpan.FromSeconds(3));
                                     break;
                                    #endregion
                                    #region обработка пакета 65 00
                                    case "6500":                                            
                                        GameSock.Disconnect(true);
                                        GSock.Close();
                                        IPEndPoint f2 = new IPEndPoint(IPAddress.Parse("22.22.22.22"), 16121);
                                        GSock.Connect(f2);
                                        GSock.Send(buffer);
                                        break;
                                    #endregion
                                    #region обработка остальных пакетов
                                    default:
                                        GSock.Send(buffer);
                                        break;
                                    #endregion
                                }



проблема в том что 
происходит коннект на 11.11.11.11 : 16900 нормально следом программе приходит другой пакет начинающийся на 6500 
и по моей логике GSock должен отключится от 11.11.11.11 : 16900 и подключится к 22.22.22.22 : 16121 
но при вызове 
GSock.Disconnect(true); 
и 
GSock.Close(); 
эффекта 0 кроме ошибки  

Once the socket has been disconnected, you can only reconnect again asynchronously, and only to a different EndPoint. BeginConnect must be called on a thread that won't exit until the operation has been completed. 


заранее спасибо
PM MAIL   Вверх
mr.DUDA
Дата 11.11.2006, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



GSock надо по новой создать после дисконнекта.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

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

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

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


 




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


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

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