基于boost库,写一个socket通讯程序
时间: 2023-08-02 19:28:35 浏览: 164
Boost 网络编程库指南
好的,我可以为您提供一个基于boost库的socket通讯程序的示例代码,您可以参考并根据自己的需求进行修改:
```c++
#include <iostream>
#include <boost/asio.hpp>
using namespace std;
using namespace boost::asio;
int main(int argc, char* argv[])
{
if (argc != 3) {
cout << "Usage: client <host> <port>" << endl;
return 1;
}
io_service io_service;
ip::tcp::socket socket(io_service);
ip::tcp::resolver resolver(io_service);
connect(socket, resolver.resolve({ argv[1], argv[2] }));
while (true) {
cout << "Enter message: ";
string message;
getline(cin, message);
if (message == "exit") {
break;
}
write(socket, buffer(message));
char response[1024];
size_t len = socket.read_some(buffer(response));
cout << "Response from server: " << string(response, len) << endl;
}
socket.close();
return 0;
}
```
这个程序是一个基于boost库的客户端程序,用于与服务器进行socket通讯。您可以在命令行中输入主机名和端口号来连接服务器。连接成功后,程序会进入一个循环,等待用户输入消息并发送到服务器。当用户输入"exit"时,程序退出循环并关闭socket连接。
当程序发送消息后,它会等待服务器的响应,并将响应打印在屏幕上。这个示例程序是一个简单的echo客户端,它发送什么消息,服务器就会返回什么消息。
注意:该程序只是一个示例,您需要根据自己的需求进行修改和完善。例如,您可能需要添加更多的错误处理和异常处理代码。
阅读全文