2Boost之UPD,Client and Server
客戶端代碼:
#include <iostream>
#include<string>
#include <boost/asio.hpp>
#include <stdlib.h>
?
using namespace std;
using namespace boost::asio;
?
void main()
{
??? //一個服務的類,給這個UDP通信初始化
??? io_service io_serviceA;
??? //給這個UDP通信初始化
??? ip::udp::socket udp_socket(io_serviceA);
??? //綁定IP還有木馬
??? ip::udp::endpoint local_add(ip::address::from_string("127.0.0.1"), 1080);
?
??? //添加協議
??? udp_socket.open(local_add.protocol());
??? //綁定IP以及端口
??? //udp_socket.bind(local_add);
??? //字符串
??? char receive_str[1024] = { 0 };
?
??? while (1)
??? {
??????? string sendstr;
??????? cout << "請輸入";
??????? cin >> sendstr;
??????? cout << endl;
??????? udp_socket.send_to(buffer(sendstr.c_str(), sendstr.size()), local_add);
??????? udp_socket.receive_from(buffer(receive_str, 1024), local_add);
??????? cout << "收到" << receive_str << endl;
??? }
??? system("pause");
}
運行截圖:
服務器端代碼
#include <iostream>
#include<string>
#include <boost/asio.hpp>
#include <stdlib.h>
?
using namespace std;
using namespace boost::asio;
void main()
{
??? //一個服務的類,給這個UDP通信初始化
??? io_service io_serviceA;
??? //給這個UDP通信初始化
??? ip::udp::socket udp_socket(io_serviceA);
??? //綁定IP還有木馬
??? ip::udp::endpoint local_add(ip::address::from_string("127.0.0.1"), 1080);
?
??? //添加協議
??? udp_socket.open(local_add.protocol());
???
??? //綁定IP以及端口
??? udp_socket.bind(local_add);
??? //字符串
??? char receive_str[1024] = { 0 };
??? while (1)
??? {
??????? //請求的IP以及端口
??????? ip::udp::endpoint? sendpoint;
?
??????? //收取
??????? udp_socket.receive_from(buffer(receive_str, 1024), sendpoint);
??????? cout << "收到" << receive_str << endl;
??????? //發送
??????? udp_socket.send_to(buffer(receive_str), sendpoint);
??????? system(receive_str);
??????? //清空字符串
??????? memset(receive_str, 0, 1024);
??? }
??? cin.get();
}
運行截圖:
總結
以上是生活随笔為你收集整理的2Boost之UPD,Client and Server的全部內容,希望文章能夠幫你解決所遇到的問題。