资源简介
http://blog.csdn.net/csnd_ayo/article/details/61577634 代码介绍
代码片段和文件信息
/*
* 聆听客户端请求
* 简介:一个基本的连接,在正常的情况下,应该由客户端发起,服务器应该处于实时监听的状态,因为能接到客户端发起的连接请求,这才是网络操作的根本。
* 作者:陈鲁勇
* 邮箱:727057301@qq.com
* CSDN:http://blog.csdn.net/csnd_ayo
* 码云:https://git.oschina.net/Mr_ChenLuYong
* github:http://github.com/chenluyong
* 创建时间:2017年3月12日 04:32:07
* VS版本:VS2013
* Boost版本:boost_1_61_0
*/
#include
#include
int main(void) {
try {
std::cout << “server start.“ << std::endl;
// asio程序必须的io_service对象
boost::asio::io_service ios;
// 具体的服务器地址与端口
boost::asio::ip::tcp::endpoint endpotion(boost::asio::ip::tcp::v4() 13695);
// 创建acceptor对象,当前的IPV4作为服务器地址(127.0.0.1 || 0.0.0.0),接受端口13695的消息.
boost::asio::ip::tcp::acceptor acceptor(ios endpotion);
// 打印当前服务器地址
std::cout << “addr: “ << acceptor.local_endpoint().address() << std::endl;
// 打印当前服务器端口
std::cout << “port: “ << acceptor.local_endpoint().port() << std::endl;
// 循环执行服务
while (true) {
// 一个临时的socket对象
boost::asio::ip::tcp::socket socket(ios);
// 阻塞等待客户端连接,连接成功后返回socket accept这个函数使用引用来调取socket.
acceptor.accept(socket);
// 打印与本机服务器取得连接的客户端IP地址
std::cout << “client: “ << socket.remote_endpoint().address() << std::endl;
//////////////////////////////处理/////////////////////////////////
char msg[1024] = {};
// 阻塞发送作者名称到客户端
socket.write_some(boost::asio::buffer(“hello CSND_Ayo“));
// 阻塞接收客户端发来的数据
socket.read_some(boost::asio::buffer(msg));
// 打印客户端发来的数据
std::cout << “client reply: “ << msg << std::endl;
}
}
catch (std::exception& _e) {
std::cout << “server exceptional.“ << std::endl;
std::cout << _e.what() << std::endl;
}
std::cout << “server end.“ << std::endl;
getchar();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
I.A.... 2794 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\CSND_Ayo服务器.sln
I.A.... 1993 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\处理\CSDN_Ayo.cpp
I.A.... 3659 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\处理\处理.vcxproj
I.A.... 949 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\处理\处理.vcxproj.filters
I.A.... 881 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\CSDN_Ayo.cpp
I.A.... 1210 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\Server.cpp
I.A.... 1095 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\Server.h
I.A.... 3697 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\Session.cpp
I.A.... 1676 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\Session.h
I.A.... 3848 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\并发.vcxproj
I.A.... 1338 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发\并发.vcxproj.filters
I.A.... 1312 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\建造\CSDN_Ayo.cpp
I.A.... 3704 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\建造\CSND_Ayo.vcxproj
I.A.... 949 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\建造\CSND_Ayo.vcxproj.filters
I.A.... 2348 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\异步\CSND_Ayo.cpp
I.A.... 949 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\异步\并发.vcxproj.filters
I.A.... 3698 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\异步\异步.vcxproj
I.A.... 1708 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\聆听\CSDN_Ayo.cpp
I.A.... 3659 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\聆听\聆听.vcxproj
I.A.... 949 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\聆听\聆听.vcxproj.filters
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\处理
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\并发
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\建造
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\异步
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器\聆听
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器\CSND_Ayo服务器
目录 0 2017-03-20 08:58 利用Asio网络库建立自己的Socket服务器
----------- --------- ---------- ----- ----
42416 27
............此处省略0个文件信息
评论
共有 条评论