試圖通過TCP連接使用C#發送數據。通過TCP連接發送XML - 僅發送數據
string reply = "<?xml version='1.0' standalone='yes'?>
<root><ele1 type='2'/><author>patrick</author>
<address>spain</address></root>";
這裏就是我認爲這個問題是:
reply = format.ProcessMessage(message); - this method returns the above string
byte[] breply = System.Text.Encoding.ASCII.GetBytes(reply);
stream.Write(breply, 0, breply.Length);
對客戶的最終的迴應是:patrickspain 但我想發整個XML字符串。任何人有任何想法如何解決這個問題?
下面是我的PHP客戶端代碼:
<?php
$host = "127.0.0.1";
$port = 7890;
$message = "Test Message";
echo "Message To server :".$message;
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
socket_write($socket, $message, strlen($message)) or die("Could not send data\n");
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server : ".$result;
socket_close($socket);
?>
我的猜測是所有的數據都在發送,但是你的客戶端(或者你用來查看響應的工具)正在剝離出Xml元素。你能檢查在客戶端收到的_number_字節數嗎? –
我不知道該怎麼做。客戶端是一個簡單的測試應用程序編碼在PHP中,它只是打印出C#在瀏覽器中的響應 –
我剛剛意識到這個問題不是用C#,但我懷疑PHP客戶端一直在剝離我的XML –