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

盘锦市住房和城乡建设厅网站做网站公司还有没有活路

盘锦市住房和城乡建设厅网站,做网站公司还有没有活路,网站如何横屏,wordpress设置弹窗作业: 运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…

作业:

运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来消息以及客户端自己的标准输入流 在不开线程的情况下,实现互相聊天

#include<myhead.h>void 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 i=0;i<len;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 i=tar;i<*len-1;i++){newfd_arr[tar] = newfd_arr[tar+1];}(*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 i=0;i<newfd_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 i=0;i<newfd_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;
}
#include<myhead.h>
#define SER_PORT 6000
#define SER_IP "192.168.2.53"int 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.yayakq.cn/news/360020/

相关文章:

  • 室内设计装修网站网站获取访客qq号码
  • 网站服务器的安全性首先是实现用户账号的权限设置做led灯网站有哪些呢
  • 学做网站论坛账号WordPress文章页版权信息
  • 云主机 做网站videopro wordpress
  • 网站服务器是什么东西三室一厅装修效果图
  • 专门找人做软件的网站网站营运费
  • 全屋定制哪个网站好免费下载app软件正版
  • 自己建设网站要花多少钱网页设计师培训班合肥
  • 哪些网站可以做视频收费小型网站设计及建设论文
  • 网站后台模板制作流程wordpress菜单导航栏透明
  • 手机建设网站策划书seo咨询推广找推推蛙
  • 哪里有网站建设中心3d虚拟人物制作软件
  • 网站开发 最好开发语言和平台用模板网站做h5宣传页多少钱
  • 打码网站怎么做为企业做网站电话开场白
  • 电商网站在线支付怎么做有没有做美食的网站
  • 网站文案的重要性天山网官网
  • 租房网站那些地图区域统计怎么做的代码运行框wordpress
  • 网站免费认证联盟怎样做网站镜像
  • 新八建设集团有限公司网站龙元建设集团有限公司网站
  • 公司微网站制作哈密建设局网站
  • 软环境建设网站网站建设返回函数
  • 桂林手机网站建设东营伟浩建设集团网站
  • 便利的合肥网站建设wordpress 克隆
  • 网站建设心得.doc网站设计与开发范本
  • 网站开发报价单模板江门网站制作流程
  • 如何 网站收录情况太原专业设计网页公司
  • 中国交通建设集团官方网站网站建设工作成果怎么写
  • 动态链接做网站外链图开发软件多少钱
  • 做外包胡it网站建设部网站监督平台
  • 网站怎么上传大气网络公司网站源码