如何使用HttpListener接收客户端发送的byte []数据

时间:2017-09-08 05:14:33

标签: c# streamreader httplistener

我很抱歉我的c#基金会有限,但这个问题困扰了我很多天。我希望老年人能给我一些建议。非常感谢你。 我的客户端以这种方式发送消息:

public IEnumerator SetAnchorData(string Url, byte[] data)
{ 
    UnityWebRequest request = UnityWebRequest.Put(Url, data);
    yield return request.Send();
    if (request.isError)
    {
        Debug.Log(request.error);
    }
    else
    {
         text.text += "succeed"+data.Length;
        // Debug.Log("succeed" + data.Length);
    }
    request.Dispose();
}

我的服务器读取如下数据:获取数据流

HttpListenerRequest request = context.Request; 
StreamReader reader = new StreamReader(request.InputStream);

然后你通过"读者"到这个方法得到byte []

 `private byte[] ReadLineAsBytes(StreamReader SourceStream)
    {
        var resultStream = new MemoryStream();
        while (!SourceStream.EndOfStream)
         {
            resultStream.WriteByte((byte)SourceStream.Read());
            NUM++;
         }
        Console.Write("It's been read {0} times:", NUM);

        resultStream.Position = 0;
        byte[] dataBytes = new byte[resultStream.Length];
        resultStream.Read(dataBytes, 0, dataBytes.Length);
        return dataBytes;
    }`

结果是byte []的长度小于客户端字节[]的长度。我不知道问题出在哪里。如果是阅读方法,请教我如何做。 请帮帮我,请。

0 个答案:

没有答案