摘要: Boost框架中默认就提供了针对TCP流传输的支持,该功能可以用来进行基于文本协议的通信,也可以用来实现自定义的协议。一般`tcp::iostream`会阻塞当前线程,直到IO操作完成。首先来看服务端代码,如下所示在代码中首先通过`GetFileSize`读取文件行数,当有了行数我们就可以使用循环的方式依次调用`acceptor.accept(*tcp_stream.rdbuf())`接收客户端的相应请求,并使用`<<`符号向建立了链接的文件内追加字符串数据。 阅读全文
posted @ 2023-11-08 13:21 lyshark 阅读(419) 评论(0) 推荐(0) 编辑
摘要: Base64是一种二进制到文本的编码方案,用于将二进制数据转换为`ASCII`字符串格式。它通过将二进制数据流转换为一系列`64`个字符来工作,这些字符都可以安全地传输到设计用于处理文本数据的系统中。如下代码中我们使用Boost中提供的`base64_from_binary`头文件实现两个函数,其中`Base64Decode`函数接收一个字符串并对其进行解压缩操作输出解密后的原始字符串内容,其次`Base64Encode`函数用于将一个原始数据包压缩处理,有了这两个函数的支持,我们只需要在调用发送函数之前对数据进行压缩,在接收数据后在使用对等的函数对其进行解压缩即可,如下是该案例的完整实现。 阅读全文
posted @ 2023-11-08 09:05 lyshark 阅读(361) 评论(0) 推荐(0) 编辑

loading... | loading...
博客园 - 开发者的网上家园