UWP TCP客户端-读取字节

时间:2019-06-07 01:46:53

标签: c# sockets unity3d tcp uwp

A正在使用Unity为HoloLens开发UWP应用程序。该应用程序的目的是从TCP服务器读取数据流。问题是我发送的数据的类型是double。

有趣的部分是HoloLens并没有所有的C#API作为Unity。 基于https://docs.microsoft.com/en-us/windows/uwp/gaming/missing-dot-net-apis-in-unity-and-uwp,我必须编写两次代码,以便可以在编辑器和设备中执行它。我找不到如何使用UWP库读取字节流的方法。

对于Unity,我可以使用TcpClient(这种情况下有效):

    client = new System.Net.Sockets.TcpClient(host, Int32.Parse(port));
    stream = client.GetStream(); //get stream object for reading

    Debug.Log("connected \n");
    // Read incoming stream into byte array.    
    int i;
    i = stream.Read(bytes, 0, bytes.Length);

如何使用Windows.Networking.Sockets.StreamSocket()读取原始字节? 目前我有:

    socket = new Windows.Networking.Sockets.StreamSocket();
    Windows.Networking.HostName serverHost = new Windows.Networking.HostName(host);
    await socket.ConnectAsync(serverHost, port);
    socket = new Windows.Networking.Sockets.StreamSocket();
    //the server hostname that we will be establishing a connection to.
    Windows.Networking.HostName serverHost = new Windows.Networking.HostName(host);
    await socket.ConnectAsync(serverHost, port);
    Stream streamIn = socket.InputStream.AsStreamForRead();

您能否建议我应该使用哪种方法而不是AsStreamForRead()来读取字节流?

非常感谢!

0 个答案:

没有答案