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

wordpress音乐网站主题深圳十大集团公司排名

wordpress音乐网站主题,深圳十大集团公司排名,织梦网站调用工具,成都网站建设案例单招网作业#xff1a; 运行1个服务器和2个客户端 实现效果#xff1a; 服务器和2个客户端互相聊天#xff0c;服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接#xff0c;2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…作业 运行1个服务器和2个客户端 实现效果 服务器和2个客户端互相聊天服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来消息以及客户端自己的标准输入流 在不开线程的情况下实现互相聊天 #includemyhead.hvoid intsert_newfd(int* newfd_arr,int* len,int newfd) {newfd_arr[*len] newfd;(*len); }int find_newfd(int* newfd_arr,int len,int newfd) {for(int i0;ilen;i){if(newfd_arr[i] newfd){return i;}}return -1; }void remove_newfd(int* newfd_arr,int* len,int newfd) {int tar find_newfd(newfd_arr,*len,newfd);if(tar -1){return ;}for(int itar;i*len-1;i){newfd_arr[tar] newfd_arr[tar1];}(*len)--; }int main(int argc,const char *argv[]) {if(argc ! 2){printf(请输入正确的端口号\n);return 1;}//存放客户端的套接字int newfd_arr[100] {0};//存放客户端的数量int newfd_count 0;int port atoi(argv[1]);int sfd socket(AF_INET,SOCK_STREAM,0);struct sockaddr_in sin;sin.sin_family AF_INET;sin.sin_port htons(port);sin.sin_addr.s_addr inet_addr(192.168.2.53);int reuse setsockopt(sfd,SOL_SOCKET,SO_REUSEADDR,reuse,sizeof(reuse));bind(sfd,(struct sockaddr*)sin,sizeof(sin));listen(sfd,128);fd_set readfds;FD_ZERO(readfds);FD_SET(sfd,readfds);FD_SET(0,readfds);while(1){fd_set temp readfds;//监视服务器套接字select(FD_SETSIZE,temp,0,0,0);//如果 0 激活if(FD_ISSET(0,temp) 1){printf(标准输入流激活\n);char buf[32] ;scanf(%s,buf);getchar();for(int i0;inewfd_count;i){int fd newfd_arr[i];write(fd,buf,strlen(buf));}}if(FD_ISSET(sfd,temp)){//接收链接int newfd accept(sfd,0,0);printf(有客户端连接\n);//将接收到的客户端的套接字放入监视列表FD_SET(newfd,readfds);//将连接的客户端的套接字存入数组中进行统一管理intsert_newfd(newfd_arr,newfd_count,newfd);}else{//判断每一个客户端是否激活如果激活了调用read来读取for(int i0;inewfd_count;i){int newfd newfd_arr[i];if(FD_ISSET(newfd,temp)){//客户端套接字激活有两种情况1、发来了信息 2、断开链接char buf[128] ;int res read(newfd,buf,sizeof(buf));//如果read阻塞客户端断开连接read返回0//如果read非阻塞客户端断开连接read返回-1if(res 0){//说明客户端断开了连接//1、从监视列表中删除FD_CLR(newfd,readfds);//2、从客户端数据中删除remove_newfd(newfd_arr,newfd_count,newfd);//3、关闭客户端套接字close(newfd);printf(客户端已下线\n);break;}printf(客户端发来的消息为%s\n,buf);}}}}close(sfd);return 0; } #includemyhead.h #define SER_PORT 6000 #define SER_IP 192.168.2.53int main(int argc,char *argv[]) {if(argc ! 2){printf(请输入正确的端口号\n);return 1;}int port atoi(argv[1]);int cfd socket(AF_INET,SOCK_STREAM,0);struct sockaddr_in cin;cin.sin_family AF_INET; //通信域cin.sin_port htons(port); //端口号cin.sin_addr.s_addr inet_addr(192.168.2.53); //IP地址bind(cfd,(struct sockaddr*)cin,sizeof(cin));struct sockaddr_in sin;sin.sin_family AF_INET; //通信域sin.sin_port htons(SER_PORT); //服务器口号sin.sin_addr.s_addr inet_addr(SER_IP); //服务器IP地址connect(cfd,(struct sockaddr*)sin,sizeof(sin));//准备描述符集合fd_set readfds;//初始化FD_ZERO(readfds);//将管道读段描述符添加进入描述符集合FD_SET(cfd,readfds);//将标准输入流添加进入描述符集合FD_SET(0,readfds);while(1){fd_set temp readfds;//监视readfds,此时readfds里面只有 0 和 cfdselect(FD_SETSIZE,temp,0,0,0);//如果 0 激活if(FD_ISSET(0,temp) 1){printf(标准输入流激活\n);char buf[32] ;scanf(%s,buf);getchar();write(cfd,buf,strlen(buf));if(strcmp(buf,quit) 0){break;}}if(FD_ISSET(cfd,temp) 1){printf(管道读端激活\n);char buf[32] ;read(cfd,buf,sizeof(buf));printf(管道读取到的数据为%s\n,buf);}}//5、关闭套接字close(cfd);return 0; }
http://www.hkea.cn/news/14368606/

相关文章:

  • 建设淘宝客网站服装市场网站建设
  • 山西物价局建设工程检测网站首页做网站需要哪些费用
  • 做外卖网站单页设计多少钱一张
  • 做网站如何引用头部福州市建设局网站
  • 南宫28在线注册网站网站难做
  • 网页设计网站多少钱网站空间太小
  • 香水网站建设规划书湘潭市建设工程质量监督站网站
  • 高密建设局网站甘肃省建筑信息平台
  • 网站设计与管理方向游戏平台网站开发
  • 营销型网站 平台宣传册设计与制作免费
  • 重庆做企业网站设计的公司检察机关门户网站建设自查报告6
  • 网站月付服务器抖音代运营服务内容明细
  • word模板网站asp做网站
  • vps怎么做多个网站搜索引擎优化策略
  • 郑州专业网站建设公司详情辽宁自助网站建设公司
  • 辽宁省朝阳市做网站网站开发调查问卷题
  • wordpress仪表盘空白搜索引擎优化的目的是对用户友好
  • 企业网站推广方法有哪些延津县建设局网站
  • 网站开发所需技术二手建筑铝模板哪里有卖
  • 关于当当网站建设方案乐清网论坛
  • 江苏省国家示范校建设专题网站redis wordpress 内存
  • 寺庙建设网站的意义小店网站制作
  • 一站式网站建设有哪些网剧推广一次5元
  • 教学设计代做去什么网站世界500强企业排名
  • 成都建网站公司电话北大青鸟计算机培训学费
  • 企业网站建设推广实训报告浙江省建设工程招投标网站
  • 如何在阿里巴巴上建设公司网站网站的统计代码是什么意思
  • 做影视网站犯法吗360推广平台登录入口
  • 搞定在线图片编辑seo为什么不景气了
  • 加强网站建设的意义大学生做家教网站