.NET 如何通过套接字 C-Sharp 获取 int
.NET How to get an int comming throught a socket C-Sharp
这是我的问题:
我习惯于通过 c/c++ 中的 TCP 套接字接收 int、char* 和 cie... 等数据,但是如何在 c# 中管理它呢?我将与 c++ 服务器通信,向我发送 int、bool 和 char*。我认为我更大的问题来自这样一个事实,而不是 c# = 2bytes 中的字符......
非常感谢,对不起我的英语不好:/
首先,我真的希望你实际上没有发送char*
,因为这在给定进程之外毫无意义,甚至不是一个明确定义的长度。
基本上,您需要坐下来写下要发送的所有内容的编码规则。例如,您可能会说:
- int 是 4 字节小端序
- 文本采用 UTF-8 编码,使用长度前缀(字节,而不是字符)作为整数
- 布尔值是单个字节(以避免边界问题)
- 等,适用于您需要的每种数据类型
然后弄清楚您将如何对单个消息的多个字段进行分区,以及如何在同一套接字中构建多条消息。
或者,也许更好的选择是选择许多预先存在的序列化格式之一,并将思维转移到该格式上。如果您追求效率,那么"协议缓冲区"将是一个很好的选择。如果你想要简单,也许是JSON。
如果你仍然想手工编码它,那么:首先写下它在网络上的确切外观,然后实现它。
相关文章:
- 我如何获取从 C++ 到 C 的映射<字符串、int>#
- 在c++中获取两个大int,并将它们存储在数组中
- 有没有函数可以在擦除 c++ 中获取 deque.begin() 的 int 值?
- Qt 原子 int 获取并立即设置
- 当我们声明 cin 为 int 并从 cin 中获取输入并在 cout 中打印 cin 时会发生什么?
- 获取INT中的数字数,而无需分开10
- 指针 - 接收地址的函数是否可以获取 int?
- 从void指针中获取int,该指针指向一个简短的指针
- 从数组列表中的字符串迭代器获取 int dat<struct>
- 如何在 C++ 中使用 fstream get() 获取 int
- .NET 如何通过套接字 C-Sharp 获取 int
- 如何从 stl 向量中最小元素的迭代器位置获取 int/size_t 值
- 从 boost::variant 生成分段错误中获取 int
- 从字符数组中获取 int
- 尝试从字符串中获取 int 时出错
- 获取int而不是float
- 如何获取int变量的输入并将其写入文件
- 如何从文本文件的每行获取int值?
- 从char*缓冲区中的数字中获取int
- 如何从一个 .h 获取 int 到另一个 .h