【问题标题】:How to send a socket data using udp without converting to bytes in c#如何使用udp发送套接字数据而不转换为c#中的字节
【发布时间】:2014-01-14 11:18:16
【问题描述】:

我需要发送String 数据(不转换为字节[])以发送到网络(广播)中的所有系统(两个安卓设备)。无论我在哪里搜索这个,在所有代码中他们都使用字节转换。虽然我使用StreamWritter 发送字符串数据StreamWritter 不支持广播方法。请帮帮我。

【问题讨论】:

  • 您需要将数据作为字节传输,然后在接收到数据时将字节重构为字符串。
  • 但这里的问题是接收器是 android 应用程序。它是一个已经构建的应用程序。它只接受字符串值..
  • 你有接收器源代码吗?

标签: c# android sockets


【解决方案1】:

你不能。 套接字不处理字符串,长话短说,您必须将其转换为另一端的字符串。

【讨论】:

  • 你可以使用任何方法,但最终结果应该是字符串应该通过广播发送。
【解决方案2】:

Android 应用也仅在传输层 (UDP) 上接收字节。由于这些应用程序已经存在,您必须知道它们期望的编码类型(ASCII、UTF-8 ...)并使用所需编码发送字符串。

在 Android 端,这些字节通过编码转换为应用程序使用的字符串。

如果应用使用基于 UDP 的特定协议,您可以在 C# 中搜索该协议的现有实现。

【讨论】:

    【解决方案3】:

    你不能。不可能。 android 接收器将有一个方法将流中的字节转换为字符串。了解它是如何做到的,并在编码时反转这个过程。

    通常这将是字符串转换为它的 byte[] 表示形式,并在其前面加上一个 int 前缀,告诉您字符串的大小。

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 2012-10-25
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多