通过 TCP 将 uint 发送到服务器 c#

Posted

技术标签:

【中文标题】通过 TCP 将 uint 发送到服务器 c#【英文标题】:Send uint over TCP to server c# 【发布时间】:2017-03-13 07:20:56 【问题描述】:

我正在尝试将一个 uint-Array 发送到服务器。但我不知道如何实现它。 uint[] 看起来像这样:

[0,0,0,0, 255,255,255, 255,255,255]

我正在使用 stream.Write 方法,但此方法仅适用于 byte[] 我如何将 uint8[] 转换为 byte[] 或者是否有机会通过 tcp 发送 uint8[] ?问题是我无法访问服务器上的源代码,也无法更改它。

编辑: 这是我在 Chrome 控制台中输入的内容,它正在工作:

ws = new WebSocket("ws://localhost:7890")

打开 websocket 连接和其他:

非常感谢

【问题讨论】:

uint8 基本上只是一个字节,所以值是一样的,所以只需使用字节并将其发送到服务器。 试过了,但我没有得到回应。例如,当我在 Chrome 中通过控制台打开 websocket 连接并发送这些包时,我会从我的 FadeCandy 控制器获得响应。但是当我通过 stream.Write 发送相同的包时,我没有得到任何响应。 当它是一个字节数组时,你知道它需要作为大端还是小端发送。您可以尝试反转数组以查看是否有效。 谢谢,但有了这个,我仍然没有得到回应,我在第一篇文章中添加了一个截图,这就是我在控制台中所做的。你还有什么想法吗? 这是一个websocket,你应该使用websocket库来帮助你,我认为这是一个TCP客户端socket。 【参考方案1】:

您可以尝试转换数组。 就像是: var byteArray = uintArray.Select(item=>(Byte)item).ToArray();

【讨论】:

以上是关于通过 TCP 将 uint 发送到服务器 c#的主要内容,如果未能解决你的问题,请参考以下文章

TCP Socket在C#中接收数据错误

将 Int 转换为 UnsafePointer<UInt8>

C# 如何通过 TCP 为 HTTP 发送文件?

C# 在客户端和服务器上使用 TcpListener

通过 TCP 发送/接收文件 [重复]

性能通过 TCP 套接字客户端-服务器应用程序发送/接收数据