資源簡介
Visual Studio 實現TCp socket 異步通信,分為客戶端和服務器端兩份資源
代碼片段和文件信息
#include?
#include?
#include?
#include?“boost/shared_ptr.hpp“?
#include?
#include?
#include?
using?namespace?boost::asio;
class?Client
{
typedef?ip::tcp::socket?socket_type;
typedef?std::shared_ptr?sock_ptr;
public:
Client()?:m_ep(ip::address::from_string(“127.0.0.1“)?6688)
{
start();
}
void?run()
{
m_io.run();
}
private:
void?start()
{
sock_ptr?sock(new?socket_type(m_io));
sock->async_connect(m_ep?bind(&Client::connect_handler?this?placeholders::error?sock));
}
void?connect_handler(const?boost::system::error_code&?ec?sock_ptr?sock)
{
if?(ec)
{
return;
}
std::cout?<“receive?from:“?<remote_endpoint().address()?< sock->async_read_some(buffer(m_buf)
bind(&Client::read_handler?this?placeholders::errorsock));
}
void?read_handler(const?boost::system::error_code&?ec?sock_ptr?sock)
{
if?(ec)
{
return;
}
std::ofstream?outfile;
outfile.open(“D:\\testdata_case012.sp“?std::ios::app);
outfile?< ????outfile.close();
//std::cout?< sock->async_read_some(buffer(m_buf)
bind(&Client::read_handler?this?placeholders::errorsock));
}
private:
io_service?m_io;
ip::tcp::endpoint?m_ep;
enum?{?max_length?=?1000?};
char?m_buf[max_length+16];
int?count;
};
int?main()
{
try
{
std::cout?<“client?start.“?< Client?cl;
cl.run();
}
catch?(std::exception&?e)
{
std::cout?< }
getchar();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????286720??2017-02-17?14:22??yibus\yibus\Debug\yibus.exe
?????文件????1890944??2017-02-17?14:22??yibus\yibus\Debug\yibus.ilk
?????文件????4066304??2017-02-17?14:22??yibus\yibus\Debug\yibus.pdb
?????文件????1638532??2017-02-17?14:22??yibus\yibus\yibus\Debug\server.obj
?????文件????2370560??2017-02-17?14:22??yibus\yibus\yibus\Debug\vc120.idb
?????文件????1159168??2017-02-17?14:22??yibus\yibus\yibus\Debug\vc120.pdb
?????文件???????1610??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.log
?????文件????????542??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\cl.command.1.tlog
?????文件??????89944??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\CL.read.1.tlog
?????文件????????396??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\CL.write.1.tlog
?????文件???????1098??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\li
?????文件???????3202??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\li
?????文件????????370??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\li
?????文件????????160??2017-02-17?14:22??yibus\yibus\yibus\Debug\yibus.tlog\yibus.lastbuildstate
?????文件???????1959??2017-02-17?14:22??yibus\yibus\yibus\server.cpp
?????文件???????3558??2017-02-15?10:57??yibus\yibus\yibus\yibus.vcxproj
?????文件????????947??2017-02-15?10:57??yibus\yibus\yibus\yibus.vcxproj.filters
?????文件??109445120??2017-02-17?14:32??yibus\yibus\yibus.sdf
?????文件????????961??2017-02-15?10:55??yibus\yibus\yibus.sln
????..A..H.?????17408??2017-02-17?14:32??yibus\yibus\yibus.v12.suo
?????文件?????297472??2017-02-17?14:20??yibuc\yibuc\Debug\yibuc.exe
?????文件????1460088??2017-02-17?14:20??yibuc\yibuc\Debug\yibuc.ilk
?????文件????3812352??2017-02-17?14:20??yibuc\yibuc\Debug\yibuc.pdb
?????文件???????1683??2017-02-17?14:20??yibuc\yibuc\yibuc\client.cpp
?????文件????1713222??2017-02-17?14:20??yibuc\yibuc\yibuc\Debug\client.obj
?????文件????2362368??2017-02-17?14:20??yibuc\yibuc\yibuc\Debug\vc120.idb
?????文件????1093632??2017-02-17?14:20??yibuc\yibuc\yibuc\Debug\vc120.pdb
?????文件????????693??2017-02-17?11:26??yibuc\yibuc\yibuc\Debug\yibuc.Build.CppClean.log
?????文件???????1610??2017-02-17?14:20??yibuc\yibuc\yibuc\Debug\yibuc.log
?????文件????????542??2017-02-17?14:20??yibuc\yibuc\yibuc\Debug\yibuc.tlog\cl.command.1.tlog
............此處省略26個文件信息
評論
共有 條評論