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

网站流量查询服务平台要做个卖东西网站怎么做

网站流量查询服务平台,要做个卖东西网站怎么做,短视频推广广告,更合公司网站建设【图书推荐】《Linux C与C一线开发实践#xff08;第2版#xff09;》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践#xff08;第2版#xff09;#xff08;Linux技术丛书#xff09;》(朱文伟#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com…【图书推荐】《Linux C与C一线开发实践第2版》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践第2版Linux技术丛书》(朱文伟李建英)【摘要 书评 试读】- 京东图书 (jd.com) LinuxC\C编程技术_夏天又到了的博客-CSDN博客 13.4.11  获得套接字地址 一个套接字绑定了地址就可以通过函数来获取它的套接字地址了。套接字通信需要本地和远程两端建立套接字这样获取套接字地址可以分为获取本地套接字地址和获取远程套接字地址。其中获取本地套接字地址的函数是getsockname这个函数在下面两种情况下可以获得本地套接字地址。 1本地套接字通过bind函数绑定了地址。 2本地套接字没有绑定地址但通过connect函数和远程建立了连接此时内核会分配一个地址给本地套接字。 getsockname函数声明如下 #include sys/socket.h int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 其中参数sockfd是套接字描述符addr指向存放套接字地址的结构体指针addrlen是结构体sockaddr的大小。 【例13.2】绑定后获取本地套接字地址 1打开Visual Studio Code新建文本文件输入代码如下 #include stdlib.h #include sys/types.h #include stdio.h #include sys/socket.h #include netinet/in.h #include string.h #include unistd.h #include errno.h #include arpa/inet.h // for inet_ntoaint main() {int sfp, nfp;struct sockaddr_in s_add, c_add;socklen_t sin_size;unsigned short portnum 10051;struct sockaddr_in serv; socklen_t serv_len sizeof(serv); sfp socket(AF_INET, SOCK_STREAM, 0);if (-1 sfp){printf(socket fail ! \r\n);return -1;}printf(socket ok !\r\n);printf(ip%s,port%d\r\n, inet_ntoa(serv.sin_addr), ntohs(serv.sin_port)); // 马上获取 int on 1;setsockopt(sfp, SOL_SOCKET, SO_REUSEADDR, on, sizeof(on));// 允许地址的立即重用bzero(s_add, sizeof(struct sockaddr_in));s_add.sin_family AF_INET;s_add.sin_addr.s_addr inet_addr(192.168.0.2); // 这个IP地址必须是本机上有的s_add.sin_port htons(portnum);// 绑定if (-1 bind(sfp, (struct sockaddr *)(s_add), sizeof(struct sockaddr))) {printf(bind fail:%d!\r\n, errno);return -1;}printf(bind ok !\r\n);getsockname(sfp, (struct sockaddr *)serv,serv_len);// 获取本地套接字地址// 打印套接字地址里的IP地址和端口号printf(ip%s,port%d\r\n, inet_ntoa(serv.sin_addr), ntohs(serv.sin_port)); return 0; }在代码中我们首先创建套接字马上获取它的地址信息然后绑定IP地址和端口号再去获取套接字地址。运行时可以看到没有绑定前获取到的都是0绑定后就可以正确获取到了。 2保存代码为test.cpp上传到Linux编译并运行 # cd /zww/test # g test.cpp -o test # ./test socket ok ! ip0.0.0.0,port0 bind ok ! ip192.168.0.2,port10051需要注意的是192.168.0.2必须是本机上存在的IP地址如果随便设一个并不存在的IP地址程序就会返回错误。设置一个并不存在的IP地址后编译运行应该会出现下面的结果 # g test.cpp -o test # ./test socket ok ! ip0.0.0.0,port0 bind fail:99!要获取远程套接字地址可以使用getpeername函数。getpeername只有在连接建立以后才被调用否则不能正确获得对方的地址和端口因此它的参数描述字一般是已连接描述字而非监听套接口描述字。getpeername函数声明如下 #include sys/socket.h int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 其中参数sockfd是已连接的套接字描述符addr指向存放套接字地址的结构体指针addrlen是结构体sockaddr的大小。 13.4.12  获得主机名称和主机信息 gethostname函数是Linux中的一个系统调用用于获取当前主机的名称。函数声明如下 #include unistd.h int gethostname(char *name, size_t len); 其中name用于存储获取到的主机名len是主机名的更大长度。下面看一个实例返回本地主机的标准名称。 【例13.3】绑定后获取本地套接字地址 1打开Visual Studio Code新建文本文件输入代码如下 #include stdio.h #include unistd.hint main() {char hostname[30];int flag 0;flag gethostname(hostname, sizeof(hostname));if (flag 0){perror(gethostname error);return -1 ;}printf(hostname %s\n, hostname);return 0 ; }2保存代码为test.cpp上传到Linux编译并运行 # gcc test.cpp -o test # ./test hostname mypc 为了验证是否正确我们可以用命令uname -n来测试一下该命令用于显示主机名 # uname -n mypc 可见结果正确。 在网络编程中可能出现这样的情况我们只知道某个服务器的主机名或域名但不知道其具体的IP地址是什么。例如知道百度的网址是www.baidu.com但不知道其IP地址具体是什么。而gethostbyname可以让我们知道某个网址对应的IP地址。gethostbyname函数是Linux系统中用于获取主机名对应IP地址的函数之一它通过主机名或域名获取网络信息包括IP地址。该函数声明如下 #include netinet/in.h struct hostent *gethostbyname(const char *name); 参数name表示域名或主机名。若函数执行成功则返回hostent指针否则返回NULL失败原因存于h_error中注意错误原因不存于error中。 hostent结构具体定义如下 struct hostent {char *h_name; /*正式的主机名称*/char **h_aliases; /*该主机的其他别名*/int h_addrtype; /*地址类型通常是AF_INET*/int h_length; /*地址的长度*/char **h_addr_list; /*该主机的所有地址*/ };该函数首先在/etc/hosts文件中查找是否有匹配的主机名如果没有则到域名解析配置文件中去查找。下面我们看一个实例通过网站域名得到网站主机的名称和IP地址。 【例13.4】获取腾讯服务器的主机名和IP地址 1打开Visual Studio Code新建文本文件输入代码如下 #include stdio.h #include netdb.h #include sys/types.h #include netinet/in.h #include arpa/inet.hint main(int argc, char *argv []) {struct hostent *h;const char *s www.qq.com; // 定义域名字符串if ((h gethostbyname(s)) NULL) { /* get the host info */herror(gethostbyname);return -1;}printf(Host name : %s\n, h-h_name); // 输出主机名称//输出IP地址printf(IP Address : %s\n, inet_ntoa(*((struct in_addr *)h-h_addr)));return 0; }在上述代码中我们首先定义网站域名字符串然后通过gethostbyname函数得到网站主机的信息最后输出主机的名称和IP地址。其中函数inet_ntoa的功能是将IP地址转换成用“.”间隔的字符串形式。 2保存代码为test.cpp上传到Linux编译并运行 # gcc test.cpp -o test # ./test Host name  : ins-r23tsuuf.ias.tencent-cloud.net IP Address : 101.91.22.57
http://www.w-s-a.com/news/267205/

相关文章:

  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作