尝试通过TCP连接使用C#发送数据。
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);
?>
答案 0 :(得分:1)
浏览器接收您的数据就好了。它试图将XML显示为HTML,这意味着您只能看到每个节点的内部文本,在这种情况下是作者的名称。
右键点击该页面,然后点击&#34;查看来源&#34;看看浏览器收到了什么。您还可以使用Fiddler之类的工具来调试HTTP流量。