POCO C++ SOCKET
- // client program
- #include "Poco/Net/DatagramSocket.h"
- #include "Poco/Net/SocketAddress.h"
- #include "Poco/Timestamp.h"
- #include "Poco/DateTimeFormatter.h"
- int testUdpClient(){
- const char* ipaddr = "192.168.81.140"; //"192.168.81.140"
- Poco::Net::SocketAddress sa(ipaddr, 5004);
- Poco::Net::DatagramSocket dgs(Poco::Net::IPAddress::IPv4);
- dgs.connect(sa);
- //dgs.bind(sa);
- std::string syslogMsg;
- Poco::Timestamp now;
- syslogMsg = Poco::DateTimeFormatter::format(now, "<14>%w %f %H:%M:%S Hello,world!");
- dgs.sendBytes(syslogMsg.data(), syslogMsg.size());
- return 0;
- }
- /// server program
- #include "Servers.h"
- #include "Poco/Net/DatagramSocket.h"
- #include "Poco/Net/SocketAddress.h"
- #include "Poco/Timestamp.h"
- #include "Poco/DateTimeFormatter.h"
- int testDatagramSocket(){
- Poco::Net::SocketAddress sa(Poco::Net::IPAddress(), 5004);
- Poco::Net::DatagramSocket dgs(sa);
- char buffer[1024]; // 1K byte
- while(1){
- Poco::Net::SocketAddress sender;
- int n = dgs.receiveFrom(buffer, sizeof(buffer)-1, sender);
- buffer[n] = '\0';
- std::cout << sender.toString() << ":" << buffer << std::endl;
- }
- return 0;
- }
tcp
- // client program
- #include "Poco/Net/SocketAddress.h"
- #include "Poco/Net/StreamSocket.h"
- #include "Poco/Net/SocketStream.h"
- #include "Poco/StreamCopier.h"
- #include <iostream>
- int main(int argc, char** argv){
- const char* ipaddr = "192.168.81.140"; // the server address.
- Poco::Net::SocketAddress sa(ipaddr, 5004); // the server port.
- Poco::Net::StreamSocket socket(sa);
- Poco::Net::SocketStream str(socket);
- // Writes all bytes readable from str into std::cout, using an internal buffer.
- Poco::StreamCopier::copyStream(str, std::cout);
- return 0;
- }
- // server program
- #include "Poco/Net/ServerSocket.h"
- #include "Poco/Net/StreamSocket.h"
- #include "Poco/Net/SocketStream.h"
- #include "Poco/Net/SocketAddress.h"
- int main(int argc, char** argv){
- Poco::Net::ServerSocket srv(5004); // does bind + listen
- for(;;){
- Poco::Net::StreamSocket ss = srv.acceptConnection();
- Poco::Net::SocketStream str(ss);
- // flush() make sure the file stream is updated with the data.
- // endl() puts a newline and then uses flush().
- str << "HTTP/1.0 200 OK\r\n"
- "Content-Type: text/html\r\n"
- "\r\n"
- "<html><head><title>My 1st Web Server</title></head>"
- "<body><h1>Hello,Wordl!</h1></body></html>"
- "\r\n"
- << std::flush;
- }
- return 0;
- }
POCO C++ SOCKET的更多相关文章
- POCO库中文编程参考指南(3)Poco::Net::Socket
POCO库中文编程参考指南(3)Poco::Net::Socket 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.c ...
- c++ poco StreamSocket tcpclient测试用例
1.代码 #include <iostream> #include "Poco/Net/Socket.h" #include "Poco/Net/Stream ...
- POCO库中文编程参考指南(8)丰富的Socket编程
POCO库中文编程参考指南(8)丰富的Socket编程 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.com (# ...
- 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记.
说明 为何要写这篇文章 ,之前看过阿二的梦想船的<Poco::TCPServer框架解析> http://www.cppblog.com/richbirdandy/archive/2010 ...
- 使用GDB 追踪依赖poco的so程序,core dump文件分析.
前言 在windows 下 系统核心态程序蓝屏,会产生dump文件. 用户级程序在设置后,程序崩溃也会产生dump文件.以方便开发者用windbg进行分析. so,linux 系统也有一套这样的东东- ...
- poco网络库分析,教你如何学习使用开源库
Poco::Net库中有 FTPClient HTML HTTP HTTPClient HTTPServer ICMP Logging Mail Messages NetCore NTP OAuth ...
- Poco::TCPServer框架解析
Poco::TCPServer框架解析 POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程.文件.流,网络协议包括:HTTP.FTP.SMTP ...
- 如何编译POCO
Poco C++库是: 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa; 侧重于互联网时代的网络应用程序 使用高效的,现代的标准ANSI/ISO C++,并基于STL 高可移 ...
- POCO TCPServer 解析
POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程.文件.流,网络协议包括:HTTP.FTP.SMTP 等,还提供 XML 的解析和 SQL ...
随机推荐
- 笔记-python-functool-@wraps
笔记-python-functool-@wraps 1. wraps 经常看到@wraps装饰器,查阅文档学习一下 在了解它之前,先了解一下partial和updata_wrapper这两个 ...
- git回滚到指定commit
一次性commit好多文件,push上去之后,发现工程不可用,只能回滚,上网搜索回滚办法,下边这个是自己亲试的,特别好使: 操作步骤: 1.git checkout the_branch 2.git ...
- Android开发——弹性滑动的两种实现方式
0. 前言 欢迎转载,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52538723 我们在Android开发--View滑动的三 ...
- [bzoj3071]N皇后
哈哈哈水题~ 但是不能一眼看出来的..我想了一个小时?! 题面 Description “国际象棋中,一方的皇后数不能超过5个” 一个N*N的棋盘,任意摆放皇后,最坏情况下最少需要多少个皇后才能保证所 ...
- android MotionEvent
getAction() 获取事件的类型,这是一个组合值,由pointer的index值和事件类型值组合而成的 getActionMasked() 获取事件的类型,不具有其他信息 参考: http:// ...
- vim 简单命令
(1)查找结果全部单独显示 命令: :lvimgrep /pattern/ % | lopen (2)设置文本高亮 命令: :colorscheme evening 把 ":colorsch ...
- The Django Book
The Django Book Table of contents 2.0, English -> Chinese Django book 2.0 的中文翻译. 最近更新 - 贡献者 方便自己也 ...
- AlphaGo原理-蒙特卡罗树搜索+深度学习
蒙特卡罗树搜索+深度学习 -- AlphaGo原版论文阅读笔记 目录(?)[+] 原版论文是<Mastering the game of Go with deep neural ne ...
- 《Cracking the Coding Interview》——第9章:递归和动态规划——题目1
2014-03-20 02:55 题目:小朋友跳台阶,每次跳1层或2层,那么跳N层总共有多少种跳法. 解法:斐波那契数列. 代码: // 9.1 A child can run up the stai ...
- 【java下午茶系列】java三重奏之封装
java中的封装.继承.多态可谓是踏入这一行业的必经之槛,诸多新人在不明就里的情况下将其各种概念背的是滚瓜烂熟.即便是工作多年之后,也不见得能说出个所以然,或许冥冥之中已经写过无数封装的代码,只是 ...