C#按原样获取一个tcp数据包数据

标签 c# .net tcp bytearray networkstream

有什么方法可以接收发送的 tcp 数据包吗?
就像我发送以下字节数组:new byte[] {1, 2, 3, 4}
我想以字节数组的形式接收它,而不是在网络流中接收它

最佳答案

TCP 是一种流式传输协议(protocol)。没有数据包。您无法在发送数据的同一 block 中接收数据。

您需要建立某种允许您读取正确字节数的协议(protocol)。例如,为每条消息添加长度前缀。

更好的是,根本不使用套接字。使用更高级别的东西,例如 WCF 或 HTTP。

关于C#按原样获取一个tcp数据包数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32758704/

相关文章:

c# - 更改 SqlConnection,Credentials 属性

c# - 报告哈希进度

c# - Model 应该如何让 ViewModel 知道其状态的变化?

使用 c connect() 连接被拒绝?

networking - golang : network response from ioutil. ReadAll() 为空,连接被对端重置

c# - 如果 response.redirect 失败则重定向到一个页面

.net - 如何将 .NET 登录到 QRADAR

c# - 在 C# 或 VB.Net 中创建内存泄漏

c# - 以编程方式查找消息框并生成按钮点击

sockets - Windows Azure 上的 TCP 通信