客户端代码
#include <boost/asio.hpp>
#include <iostream>
#include <stdlib.h>
using namespace std;
using namespace boost::asio;
void main()
{
io_service iosev;
ip::tcp::socket mysorket(iosev);
ip::tcp::endpoint ep(ip::address_v4::from_string("127.0.0.1"), 1100);
boost::system::error_code ec;
mysorket.connect(ep, ec);//链接
while (1)
{
char str[1024] = { 0 };
cout << "请输入";
cin >> str;
cout << endl;
mysorket.write_some(buffer(str), ec);
memset(str, 0, 1024);//清空字符串
mysorket.read_some(buffer(str), ec);
cout << "收到" << str << endl;
}
cin.get();
}
客户端代码:
服务器端代码:
#include <boost/asio.hpp>
#include <iostream>
#include <stdlib.h>
using namespace std;
using namespace boost::asio;
void main()
{
io_service iosev;
//这里使用ip v4协议,端口号是1100
ip::tcp::acceptor myacceptor(iosev, ip::tcp::endpoint(ip::tcp::v4(), 1100));
while (1)
{
//构建TCP
ip::tcp::socket mysocket(iosev);
//接受套接字
myacceptor.accept(mysocket);
cout << "客户端" << mysocket.remote_endpoint().address() << ":"
<< mysocket.remote_endpoint().port() << "链接上" << endl;
char recestr[1024] = { 0 };
boost::system::error_code ec;
//处理网络异常
int length = mysocket.read_some(buffer(recestr), ec);
cout << "收到" << recestr << "长度" << length << endl;
system(recestr);
length = mysocket.write_some(buffer(recestr, length), ec);
cout << "发送报文长度" << length << endl;
}
cin.get();
}
运行结果: