c# - 使用套接字与 MonoDroid 传输数据

标签 c# android sockets mono xamarin.android

我正在尝试使用 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/

相关文章:

c# - 如何查询 Windows 8 的人脉应用程序?

android - 在我的手机上更改 Android API 级别

java - TCP 服务器以数据包结构发送文件(到非 Java 客户端)

Java Socket 类转换异常

android - NDK 上的套接字(AF_INET、SOCK_DGRAM、IPPROTO_ICMP)

c# - 如何使用带有 OAuth v2 UserCredentials 的 Google Contact API v3 创建 ContactsService

c# - 如何在不替换所有属性的情况下编写 xml 属性?

c# - .NET 中的身份验证、授权、用户和角色管理以及一般安全性

android - 可以在xml中设置setDisplayShowTitleEnabled来为ActionBar设置主题吗?

android - 蓝牙连接被安全 rfcomm 套接字拒绝(适用于不安全)