我正在尝试使用 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 虚拟设备上运行 - 我使用的是评估版),服务器将看到连接但是没有收到数据。
有人知道为什么会这样吗?
(编辑修改代码)
最佳答案
这可能是服务器问题。例如。让我们假设:
a) 在 Windows/MS.NET 上运行的 winform 应用程序(而不是在 Mono/Linux 或 OSX 上);
b) 你的服务器也是基于 Windows 的并且执行 ReadLine
来读取套接字
那么写入(Unix \n
)和读取(Windows \r\n\
)之间的NewLine
可以解释为什么服务器不报告正在读取的内容。
你能告诉我们你是如何读取服务器上的数据的吗? (编辑你的问题)
关于c# - 使用套接字与 MonoDroid 传输数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850572/