Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中通过tcp发送整数数组#_C#_Arrays_Tcp - Fatal编程技术网

C# 在c中通过tcp发送整数数组#

C# 在c中通过tcp发送整数数组#,c#,arrays,tcp,C#,Arrays,Tcp,这可能是个愚蠢的问题,如果是,我道歉。但我正在将一些c代码重写为c#以用作GUI的一部分,原始c程序通过以下方式将数据缓冲区向后和向前传输到微控制器: n = write(sockfd, buf, sizeof(buf)); 在发射机程序和 n = read(sockfd, (void *)buf[idx]+numread,sizeof(buf[0])-numread); 在接收器程序中。我试图找到上面这些函数的c#等价物,但我找到的唯一一个函数只接受字节数据 微控制器上的服务器运行的软件不

这可能是个愚蠢的问题,如果是,我道歉。但我正在将一些c代码重写为c#以用作GUI的一部分,原始c程序通过以下方式将数据缓冲区向后和向前传输到微控制器:

n = write(sockfd, buf, sizeof(buf));
在发射机程序和

n = read(sockfd, (void *)buf[idx]+numread,sizeof(buf[0])-numread);
在接收器程序中。我试图找到上面这些函数的c#等价物,但我找到的唯一一个函数只接受字节数据

微控制器上的服务器运行的软件不是我设计的,因此我不能简单地序列化或转换为字节等(如前面的类似问题:然后在另一端分解,或者至少我宁愿在尝试编辑我没有编写的代码之前检查是否有解决方案)


非常感谢您的帮助!

您可以使用
NetworkStream.Read/Write
将字节数组读写到套接字。
BinaryReader/Writer
是其上的抽象,可以更轻松地以特定格式编写。

您可以使用
NetworkStream.Read/Write
将字节数组读写到套接字。de>BinaryReader/Writer是一种抽象概念,它使以某些格式编写更容易。

字节数据有什么问题?不清楚您的
buf
数据是什么结构。“整数数组”通常是指一个连续的内存块,它被组织为某个固定范围的整数,存储在字节中,CPU的本机端号在整数之间没有填充。那么,在C#中,您必须匹配哪些细节?服务器程序中发送和接收数据的行是if(send(sock#u client,rxbuf,sizeof(rxbuf),MSG_NOSIGNAL)<0)中断;如果(recv(sock_客户端,txbuf,sizeof(txbuf),MSG_WAITALL)@user2769075您为什么在这里发表评论而不与我的答案交互?这解决了您的问题。@usr抱歉,我一直在尝试让它与二进制读取器一起工作,但迄今为止没有任何成功,我不明白转换是如何工作的,所以我的数据一直是垃圾。我不是故意忽略您的答案,但我不觉得这是错误的在解决我的问题时,我已经将它标记为有用的,这是我以前应该做的。谢谢你的帮助。“字节数据”有什么问题?不清楚你的
buf
数据是什么结构。“整数数组”通常是指一个连续的内存块,它被组织为某个固定范围的整数,存储在字节中,CPU的本机端号在整数之间没有填充。那么,在C#中,您必须匹配哪些细节?服务器程序中发送和接收数据的行是if(send(sock#u client,rxbuf,sizeof(rxbuf),MSG_NOSIGNAL)<0)中断;如果(recv(sock_客户端,txbuf,sizeof(txbuf),MSG_WAITALL)@user2769075您为什么在这里发表评论而不与我的答案交互?这解决了您的问题。@usr抱歉,我一直在尝试让它与二进制读取器一起工作,但迄今为止没有任何成功,我不明白转换是如何工作的,所以我的数据一直是垃圾。我不是故意忽略您的答案,但我不觉得这是错误的在解决我的问题时,我已经将它标记为有用,这是我以前应该做的。谢谢你的帮助。