Окно MQ для специальных символов Unix

Я использую клиент .net для отправки сообщений на сервер MQ, размещенный в Unix. Перед сообщениями добавляется какой-то управляющий символ. Как ниже

**^CD**<request> 

Соединение с очередью осуществляется через соединение с каналом таблицы SSL. Код, который я использую,

MQQueueManager queueManager = new MQQueueManager ; 
int openOptions = MQC.MQOO_OUTPUT + MQC.MQOO_BIND_NOT_FIXED + MQC.MQOO_FAIL_IF_QUIESCING; 
MQQueue Queue = queueManager.AccessQueue("TestQueue", openOptions); 
MQMessage queueMessage = new MQMessage(); 
queueMessage.WriteUTF("<request>"); 

MQPutMessageOptions MessageOptions = new MQPutMessageOptions(); 
Queue.Put(queueMessage, MessageOptions); 

пожалуйста, дайте мне знать, что вызывает эти специальные символы


person user171523    schedule 18.05.2010    source источник


Ответы (1)


Из собственного doco на WriteUTF:

Этот метод берет строку ActiveX и записывает ее в буфер данных сообщения в текущей позиции в формате UTF. Записываемые данные состоят из 2-байтовой длины, за которой следуют символьные данные. DataOffset увеличивается на длину строки в случае успешного выполнения метода.

Если вам не нужна такая длина, рассмотрите возможность использования вместо нее WriteString (перейдите по ссылке выше и просто перейдите на пару строк вверх в панели навигации).

person paxdiablo    schedule 18.05.2010
comment
Чувак, сегодня я не играю. Это, конечно, правильный ответ. :-) Ссылка на тот же документ в руководстве по v7: bit.ly/a7YvFW. Надеюсь, все используют классы v7, клиент уже сервер, верно? Версия v6 устарела в сентябре 2011 года, а для .Net классы v7 НАСТОЛЬКО лучше, что стоит переключиться сейчас. - person T.Rob; 18.05.2010
comment
Есть ли возможность записать строку на полосу Лен из строки? - person user171523; 18.05.2010
comment
@ user171523, не уверен, что понимаю. WriteString на самом деле не будет записывать длину, как это делает WriteUTF, в этом смысле да, она удаляет ее. Конечно, если это строка переменной длины и вы собираетесь поместить после нее дополнительные данные, у вас должна быть указана длина. - person paxdiablo; 18.05.2010