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

长春能开发网站的公司网站黑链怎么做的

长春能开发网站的公司,网站黑链怎么做的,华为建站wordpress,微信公众号菜单跳转网页怎么制作话题回到“黑社会办公室”的例子#xff0c;讲概念已经扯得比较远了#xff0c;不过#xff0c;这一节我们还得讲概念#xff0c;不过好在有些程序的例子。如果大家不想翻回去看TcpServer类的原型#xff0c;我这里直接给出这个头文件的完整源代码#xff1a;//Filename:…话题回到“黑社会办公室”的例子讲概念已经扯得比较远了不过这一节我们还得讲概念不过好在有些程序的例子。如果大家不想翻回去看TcpServer类的原型我这里直接给出这个头文件的完整源代码//Filename: TcpServerClass.hpp #ifndef TCPSERVERCLASS_HPP_INCLUDED #define TCPSERVERCLASS_HPP_INCLUDED #include unistd.h #include iostream #include sys/socket.h #include arpa/inet.h class TcpServer { private:     int listenSock;     int communicationSock;     sockaddr_in servAddr;     sockaddr_in clntAddr; public:     TcpServer(int listen_port);     bool isAccept();     void handleEcho(); }; #endif // TCPSERVERCLASS_HPP_INCLUDED我们已经解释了为什么listenSock和communicationSock的类型是int以及sockaddr_in是什么结构现在来写这个类的构造函数TcpServer::TcpServer(int listen_port) {     if ( (listenSock  socket(PF_INET, SOCK_STREAM, IPPROTO_TCP))  0 ) {         throw socket() failed;     }     memset(servAddr, 0, sizeof(servAddr));     servAddr.sin_family  AF_INET;     servAddr.sin_addr.s_addr  htonl(INADDR_ANY);     servAddr.sin_port  htons(listen_port);     if ( bind(listenSock, (sockaddr*)servAddr, sizeof(servAddr))  0 ) {         throw bind() failed;     }     if ( listen(listenSock, 10)  0 ) {         throw listen() failed;     } }好先看看程序培养一下感觉我们还得说概念。数据封装Data Encapsutation我们前面说到了网络分层链路——网络——传输——应用。数据从应用程序里诞生传送到互联网上每一层都会进行一次封装DataApplicationTCP/UDPIPOS(Driver, Kernel Physical Address)我们用socket重点描述的是协议包括网络协议IP和传输协议TCP/UDP。sockaddr重点描述的是地址包括IP地址和TCP/UDP端口。socket()函数我们从TcpServer::TcpServer()函数可以看到socket和sockaddr的产生是可以相互独立的。socket()的函数原型是int socket(int protocolFamily, int type, int protocol);在Linux中的实现为#include sys/socket.h /* Create a new socket of type TYPE in domain DOMAIN, using    protocol PROTOCOL.  If PROTOCOL is zero, one is chosen automatically.    Returns a file descriptor for the new socket, or -1 for errors.  */ extern int socket (int __domain, int __type, int __protocol) __THROW;第一个参数是协议簇Linux里面叫作域意思一样的还是那句话我们这篇教程用到的就仅仅是一个PF_INETprotocol family : internet很多时候你会发现人们也经常在这里赋值为AF_INET事实上当前AF_INET就是PF_INET的一个#define但是写成PF_INET从语义上会更加严谨。这也就是TCP/IP协议簇中的IP协议Internet Protocol网络层的协议。后面两个参数定义传输层的协议。第二个参数是传输层协议类型我们教程里用到的宏只有两个SOCK_STREAM数据流格式和SOCK_DGRAM数据报格式具体是什么我们以后讨论第三个参数是具体的传输层协议。当赋值为0的时候系统会根据传输层协议类型自动匹配和选择。事实上当前匹配SOCK_STREAM的就是TCP协议而匹配SOCK_DGRAM就是UDP协议。所以我们指定了第二个参数第三个就可以简单的设置为0。不过为了严谨我们最好还是把具体协议写出来比如我们的例子中的TCP协议的宏名称IPPROTO_TCP。数据的“地址”从数据封装的模型我们可以看到数据是怎么从应用程序传递到互联网的。我们说过数据的传送是通过socket进行的。但是socket只描述了协议类型。要让数据正确的传送到某个地方必须添加那个地方的sockaddr地址同样要能接受网络上的数据必须有自己的sockaddr地址。可见在网络上传送的数据包是socket和sockaddr共同“染指”的结果。他们共同封装和指定了一个数据包的网络协议IP和IP地址传输协议TCP/UDP和端口号。网络字节和本机字节的相互转换sockaddr结构中的IP地址sin_addr.s_addr和端口号sin_port将被封装到网络上传送的数据包中所以它的结构形式需要保证是网络字节形式。我们这里用到的函数是htons()和htonl()这些缩写的意思是h: host主机本机n: network网络to: to转换s: short16位2字节常用于端口号l: long, 32位4字节常用于IP地址“反过来”的函数也是存在的ntohs()和ntohl()。动作与持续行为本节最后的一个概念可以跟计算机无关。作为动词有些可以描述动作有些是描述一重持续的行为状态的就如同一般动词和be动词一样。扯到C来说我们可以把持续行为封装到函数内部只留出动作的接口。事实上构造函数中的bind()和listen()就是这种描述持续状态的行为函数。
http://www.pierceye.com/news/750810/

相关文章:

  • 专门找事做的网站iis7 wordpress伪静态规则
  • 做字体的网站济宁网站建设 济宁智雅
  • 工程门户网站建设怎样制作表白网站
  • 手机如何创建个人网站上海 .net网站建设
  • 小程序app软件定制开发首页排名优化公司
  • 红酒 专业 网站建设视频网站后台
  • 宁波网站建设58同城百度突然搜不到网站
  • 网站开发技术和seo的联系wordpress发邮件卡主
  • 网站开发安全模块方案网站运营方案怎么写?
  • 章丘网站制作手机网站 微信平台
  • 自定义功能的网站做坏事网站
  • 做农村电子商务的网站有哪些wordpress批量修改引用网址
  • 简述建立网站的步骤内蒙古建设监理协会网站
  • 网站上传格式工信部 网站备案查询
  • 网站开发怎么让别人看到网站设计主流尺寸
  • 都匀经济开发区建设局网站华宇网站建设
  • 南谯区住房和城乡建设局网站大连百度推广优化
  • 东莞设计网站公司被邀请做刷客会不会碰到钓鱼网站
  • 阿里云服务器多个网站南充网络推广
  • 电子商务网站建设规划设计任务书wordpress 有道云笔记
  • 广州市地铁站地图潍坊网站建设方案
  • 买一个网站服务器多少钱企业 怎么建交互网站
  • 国产网站开发工具公司福建新闻最新消息
  • 云主机和云虚拟主机优化教程网站推广排名
  • 佛山网站建设开发二维码生成器永久免费版下载
  • 衡水网站建设衡水网站建设网站建设南宁
  • 汽车网站推广策划方案wordpress又拍云cdn伪静态
  • 用dw建立网站网站设计师要学什么
  • 网站模块建设中二级医院做网站
  • 求大神帮忙做网站云网站后台