这篇文章主要介绍了C++、python和go语言实现的简单客户端服务器代码示例,本文分别给出了3种语言的客户端服务器通信代码实例,需要的朋友可以参考下
工作中用到了C/S模型,所做的也无非是给服务器发数据,但开发阶段会遇到程序自身的回环测试,需要用到简单的服务端以便验证数据发送的正确性。
写软件用C++,跑测试用python,这段时间也刚好看go语言,所以都要有demo。以下三组程序实现的功能相同,这里一起做下总结。
一、C++实现
Boost.Asio是一个跨平台的C++库,它用现代C++方法为网络和底层I/O程序提供了一致的异步I/O模型。 为了跨平台,我用boost库实现,具体如下。
服务端代码:
来源gao*daima.com搞@代#码网 File : svr.cpp
Author : Mike
E-Mail : [email protected]
*/
#include
#include
using boost::asio::ip::tcp;
enum {max_length = 1024};
typedef boost::shared_ptr socket_ptr;
int main()
{
boost::asio::io_service io_service;
tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), atoi(“12345”)));
for (;;)
{
socket_ptr sock(new tcp::socket(io_service));
a.accept(*sock);
char data[max_length];
boost::system::error_code error;
size_t length = sock->read_some(boost::asio::buffer(data), error);
data[length] = 0;
std::cout<<data<<std::endl;
sock->close();
}
return 0;
}
以上就是C++、python和go语言实现的简单客户端服务器代码示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!