0

我想编写一个网络服务,它将文件分块上传到我们的服务器。在 c# 中,这看起来像这样:

[WebMethod]
void UploadFile(string originalFilename, byte[] chunk, int numChunks)
{
    //once: create folder based on unique android device id...
    //once: create file with original filename's extension
    //append chunk
    //chunkCount++;
    //once: if chunkCount == numChunks then file is complete
}

对于如何唯一识别传入块来自的设备,我有几个想法。

  1. 通过 ip 地址,据我所知,这样做的缺点是一个坏主意。我假设手机在无线电之间切换时会更改 ip。
  2. 发送一个唯一标识符... mac 地址与上述属于同一类别,我听说 ANDROID_ID 不够唯一。

有人有什么想法吗?

4

1 回答 1

3

关于唯一标识符的问题已在此处提出并得到解答。我想 ANDROID_ID 将适用于 99% 的手机。

如果您需要防弹解决方案,请创建注册方案。创建一个 Web 方法,该方法将返回您将以某种方式创建的唯一标识符。将其存储在设备的首选项中。最初将该字段留空。第一次使用应用程序时,您的应用程序将调用此方法并获取唯一标识符。

此外,这可能会给您的申请带来道德问题。您至少需要通知您的用户您正在收集有关应用程序使用的匿名数据并征得他们的同意。

于 2011-03-08T14:28:39.747 回答