Как отправить объекты или набор данных в tcpclient подключении с помощью C #? - PullRequest
0 голосов
/ 27 августа 2009

Я хочу перенести объект или набор данных с одного компьютера и другого. Я отправляю строки с помощью Streamwriter и Reader. Теперь я хочу отправить объект через это клиентское соединение, так как я могу отправить этот объект или набор данных через это соединение?

Считайте, что я хочу отправить набор данных, что вы, люди, предлагаете

Ответы [ 3 ]

2 голосов
/ 27 августа 2009

Я думаю, что вы хотите использовать Remoting. Это огромная тема для разума, так что вот с чего начать: http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx

Теперь вы можете ускорить процесс разработки приложения для отправки / получения данных через TCP, и это с помощью WCF и netTcpBinding. Этот подход я бы использовал в настоящее время, так как его намного проще и быстрее разработать, плюс любой накопленный опыт можно использовать для создания различных типов веб-сервисов.

netTcpBinding: http://msdn.microsoft.com/en-us/library/ms731810.aspx

Сайт WCF: http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

1 голос
/ 27 августа 2009

Если у вас есть контроль над отправителем и получателем, вы можете попробовать сериализацию.

Базовая реализация сериализации и десериализации

0 голосов
/ 27 августа 2009

Если определение класса для объекта, который вы хотите отправить, доступно как клиенту, так и серверу, скажем, определенному в общей библиотеке классов, вы можете сериализовать его в двоичные данные, отправить по соединению и десериализовать. Сериализуемые классы довольно легко доступны в двоичном, XML и JSON форматах.

См. http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=209

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

Примечание: пример кода Джозии Петерса выглядит намного чище, чем ссылка, на которую я ссылался.

...