boost asio client

本文介绍了一个简单的TCP客户端程序实现,该程序利用Boost.ASIO库进行网络通信。客户端连接到本地主机的指定端口,并允许用户通过标准输入发送消息,同时接收来自服务器的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include <boost/asio.hpp>
#include <boost/array.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
using namespace boost::asio::ip;

const int max_length = 1024;
char request_buffer[max_length] = {};
char reply_buffer[max_length] = {};

int main()
{
	boost::asio::io_service io_service;
	tcp::endpoint end_point(boost::asio::ip::address::from_string("127.0.0.1"), 8888);
	tcp::socket tcp_socket(io_service);
	tcp_socket.connect(end_point);

	for (;;)
	{
		std::cin.getline(request_buffer, max_length);

		size_t request_length = std::strlen(request_buffer);
		boost::asio::write(tcp_socket, boost::asio::buffer(request_buffer, request_length));

		size_t reply_length = boost::asio::read(tcp_socket, boost::asio::buffer(reply_buffer, request_length));

		std::cout.write(reply_buffer, reply_length);
		std::cout << "\n";
	}

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值