Poco库网络模块例子解析1-------字典查询
Poco的网络模块在Poco::Net名字空间下定义 下面是字典例子解析
#include "Poco/Net/StreamSocket.h" //流式套接字
#include "Poco/Net/SocketStream.h" //套接字流
#include "Poco/Net/SocketAddress.h" //套接字地址
#include "Poco/StreamCopier.h" //流复制器
#include "Poco/Path.h" //路径解析器
#include "Poco/Exception.h" //异常
#include <iostream> using Poco::Net::StreamSocket;
using Poco::Net::SocketStream;
using Poco::Net::SocketAddress;
using Poco::StreamCopier;
using Poco::Path;
using Poco::Exception; //从dict.org查找词语
int main(int argc, char** argv)
{
const std::string HOST("dict.org"); //字典查询服务器
const unsigned short PORT = ; //端口 if (argc != )
{
Path p(argv[]); //解析路径
std::cout << "usage: " << p.getBaseName() << " <term>" << std::endl; //获取BaseUrl
std::cout << " looks up <term> in dict.org and prints the results" << std::endl;
return ;
}
std::string term(argv[]); //要查询的单词 作为 运行参数1 try
{
SocketAddress sa(HOST, PORT); //定义一个套接字 地址对象 类似winsock的 sockaddr_in
StreamSocket sock(sa); //创建 流式套接字
SocketStream str(sock); //创建套接字流用于进行 输入输出 类似于winsock recv send str << "DEFINE ! " << term << "\r\n" << std::flush; //发送查询命令
str << "QUIT\r\n" << std::flush; //查询命令结束 sock.shutdownSend(); //关闭发送方的链接
/// Writes all bytes readable from istr to ostr, using an internal buffer.
/// Returns the number of bytes copied.
StreamCopier::copyStream(str, std::cout); //拷贝所有输入流到 输出流上 也就是说把 查询返回的结果 输出到std::cout
}
catch (Exception& exc)
{
std::cerr << exc.displayText() << std::endl; //异常处理
return ;
} return ;
}
Poco库网络模块例子解析1-------字典查询的更多相关文章
- Poco C++库网络模块例子解析2-------HttpServer
//下面程序取自 Poco 库的Net模块例子----HTTPServer 下面开始解析代码 #include "Poco/Net/HTTPServer.h" //继承自TCPSe ...
- POCO库——Foundation组件之核心Core
核心Core: Version.h:版本控制信息,宏POCO_VERSION,值格式采用0xAABBCCDD,分别代表主版本.次版本.补丁版本.预发布版本: Poco.h:简单地包含了头文件Found ...
- 最近编译POCO 库和 Boost库的笔记
最近在编译POCO库和BOOST库 先讲一下编译POCO库,我编译的是1.9.0,过程相当曲折,要OPENSSL修改版本的,个OPENSSL在这里下载,如果你用一般未修改的OPENSSL 是编译不了, ...
- 第4.4节 Python解析与推导:列表解析、字典解析、集合解析
一. 引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...
- POCO库——Foundation组件概述
Foundation组件作为POCO库的基础组件,主要包含了核心Core.缓存Cache.加解密Crypt.日期时间DateTime.动态类型Dynamic.事件events.文件系统Filesyst ...
- sql查询语句如何解析成分页查询?
我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能, ...
- iOS5系统API和5个开源库的JSON解析速度测试
iOS5系统API和5个开源库的JSON解析速度测试 iOS5新增了JSON解析的API,我们将其和其他五个开源的JSON解析库进行了解析速度的测试,下面是测试的结果和工程代码附件. 我们选择的测试对 ...
- Tensorflow-hub[例子解析2]
接Tensorflow-hub[例子解析1]. 3 基于文本词向量的例子 3.1 创建Module 可以从Tensorflow-hub[例子解析1].中看出,hub相对之前减少了更多的工作量. 首先, ...
- 外网IP监测上报程序(使用Poco库的SMTPClientSession发送邮件)
目录 IPReport 项目介绍 编译说明 安装使用说明 获取外网IP方式 邮件发送关键代码 IPReport 代码地址https://gitee.com/solym/IPReport 项目介绍 外网 ...
随机推荐
- Bamboo简介
前言 前面介绍了JIRA管理平台,那么本篇就来介绍关于自动编译项目的工具-Bamboo. 正题 1.简介 Atlassian Bamboo 是一款持续集成构建服务器软件(Build Serve ...
- oprofile使用方法
安装oprofile,然后加载内核模块.#modprobe oprofile,模块加载后开始使用oprofile. 1. 首先设置监视内核,使用debuginfo提供的内核,/boot下面的内核无法使 ...
- 个人比较喜欢的Sublime Text主题
Monokai Bright Pastels on Dark Sunburst Twilight Flatland Dark Flatland Monokai
- keytool 错误: java.io.FileNotFoundException: 拒绝访问
keytool 错误: java.io.FileNotFoundException: 拒绝访问 打开命令行,切换到D:\AndroidStudioProjects\MyApplication\app目 ...
- java集合类——Stack类
查看java的API文档,Stack继承Vector类. 栈的特点是后进先出. API中Stack自身的方法不多,基本跟栈的特点有关. import java.util.Stack; public c ...
- wpa_supplicant 和 802.11g WPA 认证的配置
# cd /etc/init.d# ln -s net.lo net.eth0 默认的接口名是 wlan0,让它开机时自动 up:cp /etc/init.d/net.lo /etc/init.d/n ...
- nginx优化之请求直接返回json数据
对于有些服务端接口返回是固定值的json,可通过配置nginx直接返回json,减少程序的加载对资源的占用,减少接口响应时间 location ~* (request/update)$ { d ...
- POJ 2502 Subway dij
这个题的输入输出注意一下就好 #include<cstdio> #include<cstring> #include<queue> #include<cstd ...
- shell中常用的特殊符号
在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `co ...
- MapReduce自定义类输出的内容为内存地址
13480253104 mapreduce.KpiWritable@486a58c4 13502468823 mapreduce.KpiWritable@3de9d100 13560439658 ma ...