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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.08.2012, 23:37   #1
savra
search money
Пользователь
 
Регистрация: 12.10.2009
Сообщений: 46
По умолчанию Передачи по сети

Здравствуйте, был следующий код

Код:

     public void Send()
        {
            try
            {
                TcpClient tcpClient;
                NetworkStream tcpStream;
                string msg = "Text";
                Byte[] sentMSG = Encoding.ASCII.GetBytes(msg);
                tcpStream = tcpClient.GetStream();
                tcpStream.BeginWrite(sentMSG, 0, sentMSG.Length, CallBackdispatch, this);
            }
            catch (Exception ex)
            {
            }
        }

        private void CallBackdispatch(IAsyncResult result)
        {
            tcpStream.EndWrite(result);
        }
Нужно сделать что то подобное, только передавать сериализованный объект, я написал следующее
Код:
            try
            {
                TcpClient tcpClient;
                NetworkStream tcpStream;
                TestMessageString testString = new TestMessageString("abracadabra!");          
                XmlSerializer serializer = new XmlSerializer(typeof(TestMessageString));
                MemoryStream memoryStream = new MemoryStream();
                serializer.Serialize(memoryStream, testString);
                tcpStream = tcpClient.GetStream();            
            }
            catch (Exception ex)
            {
            }
И теперь надо передать этот сериализованный объект асинхронно, не переводя его в байтовый массив, т.е. аналог BeginWrite, но чтобы принимал не байтовый массив а поток, вот как то так

Код:
tcpStream.BeginWrite(memoryStream, CallBackdispatch, this);
       
 private void CallBackdispatch(IAsyncResult result)
        {
            tcpStream.EndWrite(result);
        }

Последний раз редактировалось savra; 04.08.2012 в 23:40.
savra вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация многопоточного чата с возможностью передачи файлов по сети darek13 Работа с сетью в Delphi 34 22.02.2013 16:00
передачи по сети файла Alar Работа с сетью в Delphi 4 07.02.2011 23:21
Ошибка конвертации при передачи фото по сети Lokos Работа с сетью в Delphi 2 07.10.2010 02:08
Локальные сети, алгоритм передачи данных Guliayka Помощь студентам 1 25.12.2009 16:26
помогомите написать програмку для передачи сообщений в локальной сети Илюха Работа с сетью в Delphi 6 20.11.2007 00:57