当前位置: 首页 > news >正文

手机网站描述百度一下你就知道了

手机网站描述,百度一下你就知道了,设计师资格证怎么考,定制网站与模板网站官网资料(需要梯子)#xff1a;https://pocoproject.org/slides/200-Network.pdf 1、poco是在原生socket之上的封装#xff0c;底层还是socket#xff0c;性能低于socket#xff0c;安全性和实用性高于socket#xff0c;即使用简便#xff0c;接口简单 2、udp协议是…官网资料(需要梯子)https://pocoproject.org/slides/200-Network.pdf 1、poco是在原生socket之上的封装底层还是socket性能低于socket安全性和实用性高于socket即使用简便接口简单 2、udp协议是接收端没有及时接收或者没有接收到这个数据数据会丢失 3、很多案例包括官网给出的案例端口都是514这个端口发送是没什么限制但是接收会出现I/O error解决这个问题要么换端口要么执行加管理员权限。 原因 在计算机网络中端口514是专门保留给 syslog 服务的标准端口。虽然这个端口通常是为系统日志守护进程保留的但它不是严格保留的这意味着应用程序也可以使用它发送UDP数据包。然而这个端口在许多系统中需要超级用户权限才能绑定并接收数据包。因此发送UDP数据包到端口514通常不会有权限问题但接收数据包时会因为缺少权限而失败。下面是关于为什么你可以发送UDP数据包到端口514而接收会遇到I/O错误的详细解释发送UDP数据包到端口514 发送数据包到一个端口并不需要对该端口的特殊权限。你只需要有权限打开一个任意的UDP套接字并发送数据包到目的IP和端口。因此在发送数据包到端口514时不会遇到权限问题。接收UDP数据包在端口514 接收数据包需要将本地UDP套接字绑定到指定的端口。在Linux系统中绑定到端口号小于1024的端口也称为系统端口或保留端口通常需要超级用户权限。端口514是一个保留端口所以非超级用户尝试绑定到该端口时会失败通常会抛出一个I/O错误环境安装 sudo apt-get install libpoco-dev使用示例官网示例需要修改下端口 udp发送 #include Poco/Net/DatagramSocket.h #include Poco/Net/SocketAddress.h #include Poco/Timestamp.h #include Poco/DateTimeFormatter.h int main(int argc, char **argv) {Poco::Net::SocketAddress sa(localhost, 1101);Poco::Net::DatagramSocket dgs;dgs.connect(sa);Poco::Timestamp now;std::string msg Poco::DateTimeFormatter::format(now,14%w %f %H:%M:%S Hello, world!);dgs.sendBytes(msg.data(), msg.size());return 0; } udp接收 #include Poco/Net/DatagramSocket.h #include Poco/Net/SocketAddress.h #include iostream int main(int argc, char **argv) {// Poco::Net::SocketAddress sa(Poco::Net::IPAddress(), 514);Poco::Net::SocketAddress sa(localhost, 1101);Poco::Net::DatagramSocket dgs(sa);char buffer[1024];for (;;){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; } 编译 g test1.cpp -lPocoNet -lPocoFoundation -o send g test2.cpp -lPocoNet -lPocoFoundation -o receiv组播发送示例一 #include Poco/Net/SocketAddress.h #include Poco/Net/MulticastSocket.h #include Poco/DateTimeFormatter.h #include iostream #include cstring int main(int argc, char *argv[]) {try{Poco::Net::SocketAddress address(239.255.255.250, 1902);Poco::Net::MulticastSocket socket(Poco::Net::SocketAddress(Poco::Net::IPAddress(), address.port()));// to receive any data you must joinsocket.joinGroup(address.host());Poco::Net::SocketAddress sender;char buffer[512] ; // 字符串最好也要初始化否则接收buffer后会出现多余字符Poco::Timestamp now;std::string msg Poco::DateTimeFormatter::format(now,%Y-%m-%d %H:%M:%S.%i send: Hello, world!);socket.sendTo(msg.data(), msg.size(), address); // 想要做监听程序注释掉sendToint n socket.receiveFrom(buffer, sizeof(buffer), sender);std::cout Received message: buffer from sender.toString() std::endl;}catch (Poco::Exception e){std::cerr Exception: e.displayText() std::endl;return 1;}return 0; }组播模式注意事项 1、“239.255.255.250”, 1902组合起来类似于唯一标签抓包可抓取239.255.255.250 2、1902为端口号一定要检测一下该端口号下是否干扰包出现出现即换端口 3、组播Poco::Net::SocketAddress address(“239.255.255.250”, 1902);需要在同网段且唯一标签一致才能通信 4、sender.toString()可查看来自哪个IP发送的信息 组播接收 #include Poco/Net/DatagramSocket.h #include Poco/Net/SocketAddress.h #include Poco/Net/MulticastSocket.h #include Poco/Net/NetworkInterface.h #include iostream #include vectorint main() {try {// 设置组播地址和端口Poco::Net::SocketAddress multicastAddress(239.1.1.5, 9200);// 创建DatagramSocketPoco::Net::MulticastSocket socket(Poco::Net::IPAddress::IPv4);socket.bind(Poco::Net::SocketAddress(Poco::Net::IPAddress(), multicastAddress.port()), true);// 加入组播组Poco::Net::NetworkInterface iface Poco::Net::NetworkInterface::forName(eth0.10); // 使用实际的网络接口socket.joinGroup(multicastAddress.host(), iface);std::vectorchar buffer(1024);std::cout Listening for multicast messages on multicastAddress.toString() ... std::endl;while (true) {Poco::Net::SocketAddress sender;int n socket.receiveFrom(buffer[0], buffer.size(), sender);if (n 0) {std::string message(buffer.begin(), buffer.begin() n);std::cout Received message from sender.toString() : message std::endl;}}// 离开组播组socket.leaveGroup(multicastAddress.host(), iface);} catch (Poco::Exception ex) {std::cerr Poco Exception: ex.displayText() std::endl;} catch (std::exception ex) {std::cerr Standard Exception: ex.what() std::endl;} catch (...) {std::cerr Unknown Exception! std::endl;}return 0; }附录 时间模块 Poco::Timestamp now; std::string msg Poco::DateTimeFormatter::format(now, %Y-%m-%d %H:%M:%S.%i ); Poco::Int64 ms_msg now.epochMicroseconds() / 1000;// 数字转化为固定长度字符 Poco::Timestamp now; // std::string msg Poco::DateTimeFormatter::format(now, %Y-%m-%d %H:%M:%S.%i ); Poco::Int64 ms_msg now.epochMicroseconds() / 1000; std::string msg std::to_string(ms_msg); std::stringstream ss; ss std::setw(13) std::setfill(0) msg; // 注意计算ms转化为字符串的长度
http://www.pierceye.com/news/798262/

相关文章:

  • 网站互动怎么做手机论坛网站
  • 企业免费网站系统wordpress default template
  • 怎样做软件网站酒店的网络营销是什么
  • 企业为什么做网站 图片做美团网站多少钱
  • 社交网站建设网站内容策划方案
  • 二手商品网站制作软件公司取名字大全
  • 网站页面切换效果抚顺市营商环境建设局网站
  • 网站开发选择什么软件互联网营销设计
  • 网站推广结束语如何评价一个网站做的好不好
  • 连云港做网站推广网站建设为什么需要备案
  • 网站建站步骤在越南做一个网站怎么做
  • 怎么在word里做网站wordpress 父页面跳转
  • 网站添加验证码WordPress食谱小程序
  • 网站打包app公明做网站
  • 服装网站设计策划工业设计最吃香的专业
  • 东莞找公司网站ui界面设计说明范文
  • 淘宝网页版手机登录保定seo外包服务商
  • 网站开发 总结报告想给公司做网站怎么做
  • 思创医惠网站建设wordpress熊掌号号主页展现
  • 网站设置的参数新兴县城乡建设局网站登录
  • 网站未备案或已封禁六安城市网官网
  • 信息产业部网站备案系统建立一个网站的流程
  • 门户网站建站多少钱功能性质网站
  • 网站关键词是什么意思易网网站多少
  • 网站建设培训 上海网站建设公司有前途吗
  • 做普通网站选择什么服务器企业vi设计公司哪家好
  • 嘉兴本地推广网站如何查看网站是否开启gzip
  • 网站菜单导航制作教程畅言 wordpress插件
  • 太原网站建设联系方式免费创建网站教程
  • 有服务器自己怎么做网站深圳财务小公司网站