我正在尝试使用Monodroid向Android服务器发送一些信息。
代码如下:
public void sendSomething()
{
sock = new TcpClient();
sock.Connect(Dns.GetHostAddresses("a.domain.com"), 7777);
String d;
d = "somedata";
StreamWriter w = new StreamWriter(sock.GetStream());
// StreamReader r = new StreamReader(sock.GetStream());
w.WriteLine(d);
w.Flush();
sock.Close();
}
如果我在winforms应用程序中运行完全相同的例程,它工作正常,但当链接到monodroid中的按钮单击(在android虚拟设备上运行 - 我正在使用评估版本)时,服务器将看到连接但是没有收到任何数据。
有人知道为什么会这样吗?
(编辑修改代码)
答案 0 :(得分:1)
这可能是服务器问题。例如。让我们假设:
a)在Windows / MS.NET上运行的winform应用程序(而不是在Mono / Linux或OSX上);
b)您的服务器也是基于Windows的,并且ReadLine
可以读取套接字
然后写(Unix NewLine
)和读(Windows \n
)之间的\r\n\
可以解释为什么服务器不报告正在读取的内容。
您能告诉我们您如何阅读服务器上的数据吗? (编辑你的问题)