Отправка сообщений в формате XML через TCP в C # - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть программа чата C # TCP. В настоящее время я отформатировал сообщения, отправленные с использованием строк, т.е. сообщение «login» начинается с «3», затем следует «U:», затем имя пользователя и т. Д.

Я думаю, что этот метод очень грубый, так как он не очень читабелен и не стандартизирован. В ранних исследованиях я читал, что могу форматировать свои сообщения, используя XML, но я не знаю, с чего начать. Я просто делаю строитель строк и добавляю в него теги типа .append("<Login>"+message)?

Ответы [ 3 ]

3 голосов
/ 11 апреля 2011

Наиболее распространенным подходом для решения такой проблемы является использование сериализации.Сериализация - это процесс преобразования объекта в памяти в формат, который может быть легко передан «по проводам», а десериализация - обратный процесс преобразования сериализованного формата обратно в объект..NET имеет хорошую поддержку XML и двоичной сериализации из коробки, но есть и другие способы реализовать это.Вот ссылка для начала:

http://msdn.microsoft.com/en-us/library/7ay27kt9(VS.71).aspx

1 голос
/ 11 апреля 2011

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

0 голосов
/ 11 апреля 2011

Если не требуется, чтобы третьи стороны могли читать эти сообщения, тогда я, вероятно, предпочел бы двоичную сериализацию , поскольку она имеет более компактный формат.

Тем не менее, яВозможно, просто используйте WCF вместо непосредственного использования TCP.

Если вы хотите узнать больше о сериализации XML, то наиболее часто используемые методы таковы:

Вы можете написать наш XML самостоятельно в виде строки, но лучше использовать методы сериализации, доступные в.Net Framework, поскольку он значительно упрощает работу и снижает вероятность того, что вы допустите ошибку и по неосторожности начнете работать с неверным xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...