gpt4 book ai didi

c++ - 使用套接字通过 TCP/IP 发送数据并序列化数据

转载 作者:行者123 更新时间:2023-11-28 08:24:23 37 4
gpt4 key购买 nike

我必须通过套接字通过 TCP/IP 发送格式为 CHARINT,INT 的字符串,其中 CHAR 是字符,INT 是数字。发送和接收它们的最佳方式是什么?当我收到它时如何拆分该字符串以再次具有两个整数?

最佳答案

有很多方法可以满足您的需求,选择取决于您需要解决方案的可扩展性。如果您只需要两个整数,那么您可以通过将它们放入数组“int arr[2];”来发送它们。并使用 send(arr, 2*sizeof(int)) 调用发送数据。当接收数据时,你做相反的事情。

序列化少量数据的一种非常简单但易于实现的方法是将数字转换为文本(使用 itoa())并发送以逗号分隔的值列表。另一方面,您通过使用逗号作为分隔符简单地拆分字符串然后使用 atoi() 将值转换回整数来解析字符串。

然而,对于任何更复杂的事情,您需要更灵活的方案。在此站点上搜索“序列化”以获取各种选项。任何通用方案都需要一个解析器,并且不重新发明轮子是有意义的。 ASN.1 是一种用于序列化的通用二进制协议(protocol),广泛用于通信行业。

关于c++ - 使用套接字通过 TCP/IP 发送数据并序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554645/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com