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

网站参数设定搭建直播网站需要怎么做

网站参数设定,搭建直播网站需要怎么做,石家庄做网站建设,新品销售网站建设《TCP关闭的两种方法概述》里边理论基础#xff0c;下边是列出代码#xff0c;并且进行实验。 服务端代码graceserver.c的内容如下#xff1a; #include lib/common.hstatic int count;static void sig_int(int signo) {printf(\nreceived %d datagrams\…《TCP关闭的两种方法概述》里边理论基础下边是列出代码并且进行实验。 服务端代码graceserver.c的内容如下 #include lib/common.hstatic int count;static void sig_int(int signo) {printf(\nreceived %d datagrams\n, count);exit(0); }int main(int argc, char **argv) {int listenfd;listenfd socket(AF_INET, SOCK_STREAM, 0);struct sockaddr_in server_addr;bzero(server_addr, sizeof(server_addr));server_addr.sin_family AF_INET;server_addr.sin_addr.s_addr htonl(INADDR_ANY);server_addr.sin_port htons(SERV_PORT);int rt1 bind(listenfd, (struct sockaddr *) server_addr, sizeof(server_addr));if (rt1 0) {error(1, errno, bind failed );}int rt2 listen(listenfd, LISTENQ);if (rt2 0) {error(1, errno, listen failed );}signal(SIGINT, sig_int);signal(SIGPIPE, SIG_IGN);int connfd;struct sockaddr_in client_addr;socklen_t client_len sizeof(client_addr);if ((connfd accept(listenfd, (struct sockaddr *) client_addr, client_len)) 0) {error(1, errno, bind failed );}char message[MAXLINE];count 0;for (;;) {int n read(connfd, message, MAXLINE);if (n 0) {error(1, errno, error read);} else if (n 0) {error(1, 0, client closed \n);}message[n] 0;printf(received %d bytes: %s\n, n, message);count;char send_line[MAXLINE];sprintf(send_line, Hi, %s, message);sleep(5);int write_nc send(connfd, send_line, strlen(send_line), 0);printf(send bytes: %zu \n, write_nc);if (write_nc 0) {error(1, errno, error write);}} }客户端代码graceclient.c内容如下 # include lib/common.h # define MAXLINE 4096int main(int argc, char **argv) {if (argc ! 2) {error(1, 0, usage: graceclient IPaddress);}int socket_fd;socket_fd socket(AF_INET, SOCK_STREAM, 0);struct sockaddr_in server_addr;bzero(server_addr, sizeof(server_addr));server_addr.sin_family AF_INET;server_addr.sin_port htons(SERV_PORT);inet_pton(AF_INET, argv[1], server_addr.sin_addr);socklen_t server_len sizeof(server_addr);int connect_rt connect(socket_fd, (struct sockaddr *) server_addr, server_len);if (connect_rt 0) {error(1, errno, connect failed );}char send_line[MAXLINE], recv_line[MAXLINE 1];int n;fd_set readmask;fd_set allreads;FD_ZERO(allreads);FD_SET(0, allreads);FD_SET(socket_fd, allreads);for (;;) {readmask allreads;int rc select(socket_fd 1, readmask, NULL, NULL, NULL);if (rc 0)error(1, errno, select failed);if (FD_ISSET(socket_fd, readmask)) {n read(socket_fd, recv_line, MAXLINE);if (n 0) {error(1, errno, read error);} else if (n 0) {error(1, 0, server terminated \n);}recv_line[n] 0;fputs(recv_line, stdout);fputs(\n, stdout);}if (FD_ISSET(0, readmask)) {if (fgets(send_line, MAXLINE, stdin) ! NULL) {if (strncmp(send_line, shutdown, 8) 0) {FD_CLR(0, allreads);if (shutdown(socket_fd, 1)) {error(1, errno, shutdown failed);}} else if (strncmp(send_line, close, 5) 0) {FD_CLR(0, allreads);if (close(socket_fd)) {error(1, errno, close failed);}sleep(6);exit(0);} else {int i strlen(send_line);if (send_line[i - 1] \n) {send_line[i - 1] 0;}printf(now sending %s\n, send_line);size_t rt write(socket_fd, send_line, strlen(send_line));if (rt 0) {error(1, errno, write failed );}printf(send bytes: %zu \n, rt);}}}}}代码如上想要跟我一样编译以后进行测试的话需要先参考《网络编程实战课程使用Cmake第一次编译程序》进行编译之后再来验证套接字上的close和shutdown两个函数。 实验一 在其中一个终端输入./graceserver然后按下一个回车打开服务器程序。 之后再打开一个终端输入./graceclient 127.0.0.1然后按下一个回车打开客户端程序然后先验证套接字的close函数快速在5秒内输出data1、data2和close三个字符串。 可以看到close函数直接就把客户端套接字的读写两个方向都关闭了。 实验二 在其中一个终端输入./graceserver然后按下一个回车打开服务器程序。 之后再打开一个终端输入./graceclient 127.0.0.1然后按下一个回车打开客户端程序然后先验证套接字的close函数快速在5秒内输出data1、data2和shutdown三个字符串。 这里可以看到shutdown只是先把客户端写方向关闭但是读的方向还打开着这就是为什么还能接受到服务器端的Hi, data1和Hi, data2两个字符串。 此文章为11月Day 11学习笔记内容来源于极客时间《网络编程实战》。
http://www.laogonggong.com/news/109926.html

相关文章:

  • 广东网站建设人员万网上传wordpress
  • 沧州网站建设的集成商关于校园推广的软文
  • 关于网站建设的讲话wordpress html cdn
  • 所有外包网站装宽带需要多少钱
  • 开个做网站的公司关于化妆品的网页设计
  • 爱站工具查询wordpress怎么上传到服务器错误
  • 网站商城与网站区别做网站的公司名称
  • 网站建设方案书要怎么样写小型办公室网络布线设计方案
  • 公司网站域名和空间使用费秦皇岛市建设局官网
  • 网站为什么续费兰州装修公司排名前十口碑推荐
  • 好人一生平安网站哪个好seo关键词优化报价
  • 上海网站建设制作深圳电子网络推广查询
  • 国内网站建设排名西安找工作哪个网站好
  • 手工制作飞机网站做sem优化
  • 惠州网站建设系统网站建设 课程
  • vscode网站开发西部数码助手网站后台管理
  • 成都建筑网站建设如何推广引流
  • 广州条友网广告推荐外贸网站谷歌seo
  • 开发网站 公司青海网页设计公司
  • 上海制作网站登录中国沈阳网站
  • 网站域名优势加盟型网站
  • 网站文章要求厦门高端网站建设公
  • 下列哪些属于营销型网站的基础建设英文电商网站建设
  • 梦织做网站长沙网站建设+个人
  • 做网站一天能赚多少钱深圳做网站公司哪家好
  • 网站建设公司的发展规划做网站需要哪些技术人员
  • 成都网站seo排名优化网站建设完成大概多久
  • 网站怎么分工做借个网站备案号
  • 重庆seo整站优化设置包装设计的网站
  • 怎么接做网站私单简述制作网页时需要的环节