1. // client program
  2. #include "Poco/Net/DatagramSocket.h"
  3. #include "Poco/Net/SocketAddress.h"
  4. #include "Poco/Timestamp.h"
  5. #include "Poco/DateTimeFormatter.h"
  6. int testUdpClient(){
  7. const char* ipaddr = "192.168.81.140"; //"192.168.81.140"
  8. Poco::Net::SocketAddress sa(ipaddr, 5004);
  9. Poco::Net::DatagramSocket dgs(Poco::Net::IPAddress::IPv4);
  10. dgs.connect(sa);
  11. //dgs.bind(sa);
  12. std::string syslogMsg;
  13. Poco::Timestamp now;
  14. syslogMsg = Poco::DateTimeFormatter::format(now, "<14>%w %f %H:%M:%S Hello,world!");
  15. dgs.sendBytes(syslogMsg.data(), syslogMsg.size());
  16. return 0;
  17. }
  18. /// server program
  19. #include "Servers.h"
  20. #include "Poco/Net/DatagramSocket.h"
  21. #include "Poco/Net/SocketAddress.h"
  22. #include "Poco/Timestamp.h"
  23. #include "Poco/DateTimeFormatter.h"
  24. int testDatagramSocket(){
  25. Poco::Net::SocketAddress sa(Poco::Net::IPAddress(), 5004);
  26. Poco::Net::DatagramSocket dgs(sa);
  27. char buffer[1024]; // 1K byte
  28. while(1){
  29. Poco::Net::SocketAddress sender;
  30. int n = dgs.receiveFrom(buffer, sizeof(buffer)-1, sender);
  31. buffer[n] = '\0';
  32. std::cout << sender.toString() << ":" << buffer << std::endl;
  33. }
  34. return 0;
  35. }

tcp

  1. // client program
  2. #include "Poco/Net/SocketAddress.h"
  3. #include "Poco/Net/StreamSocket.h"
  4. #include "Poco/Net/SocketStream.h"
  5. #include "Poco/StreamCopier.h"
  6. #include <iostream>
  7. int main(int argc, char** argv){
  8. const char* ipaddr = "192.168.81.140"; // the server address.
  9. Poco::Net::SocketAddress sa(ipaddr, 5004); // the server port.
  10. Poco::Net::StreamSocket socket(sa);
  11. Poco::Net::SocketStream str(socket);
  12. // Writes all bytes readable from str into std::cout, using an internal buffer.
  13. Poco::StreamCopier::copyStream(str, std::cout);
  14. return 0;
  15. }
  16. // server program
  17. #include "Poco/Net/ServerSocket.h"
  18. #include "Poco/Net/StreamSocket.h"
  19. #include "Poco/Net/SocketStream.h"
  20. #include "Poco/Net/SocketAddress.h"
  21. int main(int argc, char** argv){
  22. Poco::Net::ServerSocket srv(5004); // does bind + listen
  23. for(;;){
  24. Poco::Net::StreamSocket ss = srv.acceptConnection();
  25. Poco::Net::SocketStream str(ss);
  26. // flush() make sure the file stream is updated with the data.
  27. // endl() puts a newline and then uses flush().
  28. str << "HTTP/1.0 200 OK\r\n"
  29. "Content-Type: text/html\r\n"
  30. "\r\n"
  31. "<html><head><title>My 1st Web Server</title></head>"
  32. "<body><h1>Hello,Wordl!</h1></body></html>"
  33. "\r\n"
  34. << std::flush;
  35. }
  36. return 0;
  37. }

POCO C++ SOCKET的更多相关文章

  1. POCO库中文编程参考指南(3)Poco::Net::Socket

    POCO库中文编程参考指南(3)Poco::Net::Socket 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.c ...

  2. c++ poco StreamSocket tcpclient测试用例

    1.代码 #include <iostream> #include "Poco/Net/Socket.h" #include "Poco/Net/Stream ...

  3. POCO库中文编程参考指南(8)丰富的Socket编程

    POCO库中文编程参考指南(8)丰富的Socket编程 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc#gmail.com (# ...

  4. 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记.

    说明 为何要写这篇文章 ,之前看过阿二的梦想船的<Poco::TCPServer框架解析> http://www.cppblog.com/richbirdandy/archive/2010 ...

  5. 使用GDB 追踪依赖poco的so程序,core dump文件分析.

    前言 在windows 下 系统核心态程序蓝屏,会产生dump文件. 用户级程序在设置后,程序崩溃也会产生dump文件.以方便开发者用windbg进行分析. so,linux 系统也有一套这样的东东- ...

  6. poco网络库分析,教你如何学习使用开源库

    Poco::Net库中有 FTPClient HTML HTTP HTTPClient HTTPServer ICMP Logging Mail Messages NetCore NTP OAuth ...

  7. Poco::TCPServer框架解析

    Poco::TCPServer框架解析 POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程.文件.流,网络协议包括:HTTP.FTP.SMTP ...

  8. 如何编译POCO

    Poco C++库是: 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa; 侧重于互联网时代的网络应用程序 使用高效的,现代的标准ANSI/ISO C++,并基于STL 高可移 ...

  9. POCO TCPServer 解析

    POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程.文件.流,网络协议包括:HTTP.FTP.SMTP 等,还提供 XML 的解析和 SQL ...

随机推荐

  1. Leetcode 173. 二叉搜索树迭代器

    题目链接 https://leetcode.com/problems/binary-search-tree-iterator/description/ 题目描述 实现一个二叉搜索树迭代器.你将使用二叉 ...

  2. CentOS 使用 LAMP 环境开启 SSL 搭建 WordPress

    环境阿里云新装CentOS 7.4, 使用yum(非编译安装)搭建LAMP, CA证书为阿里云免费提供的, WordPress为官网下载 安装 LAMP 并开启 HTTPS 1, 关闭防火墙 # sy ...

  3. AOP的两种实现方式

    技术交流群 :233513714 AOP,面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术.    Aspect Oriented Progr ...

  4. 《Cracking the Coding Interview》——第17章:普通题——题目7

    2014-04-28 23:28 题目:给定一个数字,用英语把它读出来. 解法:ZOJ上有相反的题目.如果我要用中文读书来呢? 代码: // 17.7 Read an integer in Engli ...

  5. 【转载】Unity3D研究院之静态自动检查代码缺陷与隐患

    代码缺陷和代码错误的最大区别是,代码缺陷不影响游戏编译,而代码错误编译都不通过.但是代码缺陷会影响游戏发布后产生的一系列BUG..我今天无意间逛外国论坛发现的一个方法,使用了一下感觉挺给力的第一时间分 ...

  6. web自动化测试:watir+minitest(五)

    测试报告: 加载minitest-reporters库,并设置相关的参数.既可以在每次运行测试后生成响应的测试报告. 默认会生成一份html的报告在当前目录的test目录下 我们可以指定参数对报告的标 ...

  7. PHP实现图片上传并压缩

    本文实例讲解了PHP图片上传并压缩的实现方法,分享给大家供大家参考,具体内容如下 使用到三个文件 connect.php:连接数据库 test_upload.php:执行SQL语句 upload_im ...

  8. sqlserver 汉字转拼音 首写字母 索引 函数

    create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1 ...

  9. Redis Sorted Set

    Redis Sorted Set Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合 ...

  10. P2857 [USACO06FEB]稳定奶牛分配Steady Cow Assignment

    题目描述 Farmer John's N (1 <= N <= 1000) cows each reside in one of B (1 <= B <= 20) barns ...