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

19年做网站夜晚直播

19年做网站,夜晚直播,通栏式网站,百度的相关搜索从客户端向服务器端发送信息时#xff0c;在服务器端有打印显示#xff1b; 检测环境常用#xff0c;备份一下 0#xff0c;公共头文件代码 //config.h#include stdio.h #include stdlib.h #include string.h #include sys/socket.h #inc…从客户端向服务器端发送信息时在服务器端有打印显示 检测环境常用备份一下 0公共头文件代码 //config.h#include stdio.h #include stdlib.h #include string.h #include sys/socket.h #include sys/types.h #include unistd.h #include errno.h #include netinet/in.h #include netdb.h #include arpa/inet.hconst int MAX_LINE 4096; const int PORT 6000; const int BACKLOG 10; const int LISTENQ 6666; const int MAX_CONNECT 20; 1服务器代码 /** server.c */#include config.hint main(int argc , char **argv) {/*声明服务器地址和客户链接地址*/struct sockaddr_in servaddr , cliaddr;/*声明服务器监听套接字和客户端链接套接字*/int listenfd , connfd;pid_t childpid;/*声明缓冲区*/char buf[MAX_LINE];socklen_t clilen;/*(1) 初始化监听套接字listenfd*/if((listenfd socket(AF_INET , SOCK_STREAM , 0)) 0){perror(socket error);exit(1);}//if/*(2) 设置服务器sockaddr_in结构*/bzero(servaddr , sizeof(servaddr));servaddr.sin_family AF_INET;//servaddr.sin_addr.s_addr htonl(INADDR_ANY); //表明可接受任意IP地址servaddr.sin_addr.s_addr inet_addr(10.20.30.40);//此处服务器本机ip可以换成上一行servaddr.sin_port htons(PORT);/*(3) 绑定套接字和端口*/if(bind(listenfd , (struct sockaddr*)servaddr , sizeof(servaddr)) 0){perror(bind error);exit(1);}//if/*(4) 监听客户请求*/if(listen(listenfd , LISTENQ) 0){perror(listen error);exit(1);}//if/*(5) 接受客户请求*/for( ; ; ){clilen sizeof(cliaddr);if((connfd accept(listenfd , (struct sockaddr *)cliaddr , clilen)) 0 ){perror(accept error);exit(1);}//if//新建子进程单独处理链接if((childpid fork()) 0){close(listenfd);//str_echossize_t n;char buff[MAX_LINE];while((n read(connfd , buff , MAX_LINE)) 0){write(connfd , buff , n);printf(rec: %s, buff);}exit(0);}//ifclose(connfd);}//for/*(6) 关闭监听套接字*/close(listenfd); } 2客户端代码 /** client.c */#include config.h/*readline函数实现*/ ssize_t readline(int fd, char *vptr, size_t maxlen) {ssize_t n, rc;char c, *ptr;ptr vptr;for (n 1; n maxlen; n) {if ( (rc read(fd, c,1)) 1) {*ptr c;if (c \n)break; /* newline is stored, like fgets() */} else if (rc 0) {*ptr 0;return(n - 1); /* EOF, n - 1 bytes were read */} elsereturn(-1); /* error, errno set by read() */}*ptr 0; /* null terminate like fgets() */return(n); }int main(int argc , char ** argv) {/*声明套接字和链接服务器地址*/int sockfd;struct sockaddr_in servaddr;/*判断是否为合法输入*/if(argc ! 2){perror(usage:tcpcli IPaddress);exit(1);}//if/*(1) 创建套接字*/if((sockfd socket(AF_INET , SOCK_STREAM , 0)) -1){perror(socket error);exit(1);}//if/*(2) 设置链接服务器地址结构*/bzero(servaddr , sizeof(servaddr));servaddr.sin_family AF_INET;servaddr.sin_port htons(PORT);if(inet_pton(AF_INET , argv[1] , servaddr.sin_addr) 0){printf(inet_pton error for %s\n,argv[1]);exit(1);}//if/*(3) 发送链接服务器请求*/if( connect(sockfd , (struct sockaddr *)servaddr , sizeof(servaddr)) 0){perror(connect error);exit(1);}//if/*(4) 消息处理*/char sendline[MAX_LINE] , recvline[MAX_LINE];while(fgets(sendline , MAX_LINE , stdin) ! NULL){write(sockfd , sendline , strlen(sendline));if(readline(sockfd , recvline , MAX_LINE) 0){perror(server terminated prematurely);exit(1);}//ifif(fputs(recvline , stdout) EOF){perror(fputs error);exit(1);}//if}//while/*(5) 关闭套接字*/close(sockfd); } 3构建代码 Makefile all: client serverclient: client.cserver:server.c.PHONY:clean clean:-rm -f server client 4效果 启动server $./server 启动client $./client  10.20.30.40
http://www.hkea.cn/news/14573250/

相关文章:

  • 万网企业网站建设网页模板下载后怎么用
  • 效果图网站有哪些好的品牌网站设计提案
  • 空压机网站开发公司网站内容管理系统源码
  • wordpress html5 app外贸seo博客
  • iis6.0做网站压缩网络营销的网站分类有哪些
  • 免费建视频网站微信如何建设网站
  • 特殊教育学校网站建设方案设计制作生态瓶教案
  • 活动推广软文范例太原seo网络推广平台
  • 转入已备案网站课堂资源管理网站开发需求分析
  • 有网站吗推荐一下中小企业组网
  • 如何建网站平台卖东西广州品牌设计网站建设
  • 网站免费杭州小程序开发费用
  • 建什么样的网站好页面设计怎么样
  • 揭阳网站制作视屏网站开发者工具无视频文件
  • 建设银行悦生活网站注册小程序账号
  • html网站开发蓝色企业网站
  • 网站申请qq现在建网站赚钱吗
  • 中企动力登录企业网站优化服务
  • 个人网站怎么做内容比较好云南信息港
  • 微网站平台建设方案视频网站公共关系怎么做
  • 哈尔滨网站建设市场安康网站开发公司
  • 网站建设后期在一家传媒公司做网站编辑_如何?
  • 希音电商网站蛇口网站建设
  • 企业网站建设流程的第一步工作是成都做小程序定制开发多少钱
  • .加强网站安全建设北京建设职工大学网站
  • 郑州app制作一个需要多少钱宁波seo哪家好
  • 哈尔滨建筑业协会网站做暧免费网站
  • 网站注册时间查询如何免费做网页
  • 效果好的魔站建站系统wordpress安装显示空白页
  • 网站的开发工具建设个人技术网站