我希望你能原諒我,如果這是顯而易見的;剛開始用C++/cli。我正在使用一些示例C#代碼來生成此代碼,但在傳統C++應用程序中使用cli模式,所以我在翻譯時遇到了麻煩。不容易在網上找到樣本。C++/CLI使用XmlWriter與TcpClient不寫
這是一段代碼。一個XDocument被傳入這個代碼。我通過寫入一個文件來檢查它,並且生成的xml文件看起來應該如此(與示例C#應用程序相同)。 tcpclient調用似乎工作,如果我更改地址,它會引發異常。我也看到在TCP Sniffer中建立的連接。
請求 - > WriteTo不起作用 - 嗅探器顯示沒有寫入數據,設備也沒有響應。
此外,XmlReader :: Create調用將所有東西鎖定。
很明顯,我在設置作者或流的方式上出了問題。
任何想法?
謝謝。
TcpClient^socket = gcnew TcpClient(address,port); // connect to device
NetworkStream^stream;
stream = socket->GetStream(); // get stream.
XmlWriter ^writer = XmlWriter::Create(stream,xmlWrite); // Create writer
request->WriteTo(writer); // Write XDocument to stream.
XmlReader ^reader = XmlReader::Create(stream,xmlRead);
TcpClient連接上面的調用。正如我所指出的,TCP嗅探器程序顯示它已連接。 但我試過改變代碼,因爲我想也許你是在做某些事情,並創建了沒有地址,端口參數的套接字,然後使用套接字 - >連接(地址,端口)命令。 同樣的行爲。 我連接的這個設備具有非常特定的行爲,我非常肯定它會關閉流。我沒有在設備上得到任何迴應,事實上,TCP嗅探器沒有顯示WriteTo發送的數據。 – KokoCa