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

什么网站程序做资料库wordpress导航页

什么网站程序做资料库,wordpress导航页,贵州微信网站建设,国外做水广告网站大全项目要求#xff1a;实现以下内容 远程控制#xff1a; 1、查看服务器当前路径文件 ls 3、进入、退出服务器文件夹 cd 4、上传文件到服务器 put xxx 本地控制#xff1a; 1、查看本地#xff08;客户端#xff09;文件 lls 2、进入客户端文件夹 lcd 3、获取服务器的文件…项目要求实现以下内容  远程控制 1、查看服务器当前路径文件 ls 3、进入、退出服务器文件夹 cd 4、上传文件到服务器 put xxx 本地控制 1、查看本地客户端文件 lls 2、进入客户端文件夹 lcd 3、获取服务器的文件 get xxx 服务器解析指令创建子进程、对接客户端 1、创建套接字socket 2、绑定bind ip端口号 3、listen监听 4、accept接受客户端请求返回值小于0报错 4.1有客户端接入调用fork创建子进程返回值小于0报错0对客户端进行读操作 4.2对读取出来的数据做判断ls、get、cd、put 4.2.1getopen打开文件read文件send文件到客户端 4.2.2 lspopen文件fread读取文件send发送文件到客户端 5、可system运行一个副服务器来执行指令与执行结果的存储 6、多个客户端接入实现 客户端发指令 1、socket创建套接字 2、connect连接服务器 3、连接上以后获取用户的输入对输入的信息进行处理问socket是如何实现数据传输 服务器 注意返回的值是进行数据通信的文件描述是新的说人话就是定义个int cfd accept这个cfd就是数据传输的通道 客户端connect 使用到的函数 1.strcmp把 str1 所指向的字符串和 str2 所指向的字符串进行比较。 它的原型如下 #include stdio.h #include string.h int strcmp(const char *str1, const char *str2);参数说明 str1第一个要比较的字符串。str2第二个要比较的字符串。 返回值 如果str1和str2相等则返回0。如果str1小于str2则返回负数。如果str1大于str2则返回正数。 strcmp()函数首先将str1字符串的第一个字符的ACSII值减去str2第一个字符的ACSII值(自左向右逐个字符相比直到出现不同的字符或遇\0为止) 若差值为零则继续比较下去若差值不为零则返回差值。 特别注意strcmp可用于比较两个字符串常量或比较数组和字符串常量不能比较数字等其他形式的参数。 2.strstr在字符串 haystack 中查找第一次出现字符串 needle 的位置不包含终止符 \0。 它的原型如下 #include stdio.h #include string.h char *strstr(const char *haystack, const char *needle);参数说明 haystack要在其中查找子串的主字符串。needle要查找的子串。 返回值 如果找到子串则返回指向首次出现位置的指针。如果未找到子串则返回NULL。 3.  strtok 分解字符串 str 为一组字符串delim 为分隔符。 它的原型如下 #include stdio.h #include string.h char *strtok(char *str, const char *delim);参数说明 str要被分解为一组小字符串的原始字符串。在第一次调用时应传入需要被切割的字符串的首地址后续调用时应传入NULL以便从上次的位置继续分割。delim一个包含多个分隔符的字符串。这些字符将被用作分隔符将str分割成多个子串。 返回值 该函数返回被分解出的第一个子串的首地址。如果没有更多的子串可以提取则返回NULL。 使用示例 #include stdio.h #include string.hint main() {char str[] Hello, World!;char sub[] , ;char *result;result strtok(str, sub);while (result ! NULL) {printf(%s, result);result strtok(NULL, sub);}return 0; }结果 Hello World!4.    chdir函数 用户将当前的工作目录改变成以参数路径所指的目录。 它的原型如下 #include unistd.hint chdir(const char *path); 参数说明 path指向一个以空字符结尾的字符串该字符串包含要切换到的新目录的路径名。 返回值 若成功则返回0否则返回-1并设置errno为错误原因。 注意这个函数只影响当前进程的工作目录不会影响其他进程。 例如以下代码将当前工作目录更改为/home/user if (chdir(/home/user) -1) {perror(Error changing directory); } 5.fflush函数 更新缓存区 函数说明调用fflush()会将缓冲区中的内容写到stream所指的文件中去.若stream为NULL则会将所有打开的文件进行数据更新。 fflush(stdin)刷新缓冲区,将缓冲区内的数据清空并丢弃。 fflush(stdout)刷新缓冲区,将缓冲区内的数据输出到设备强制打印。   #include stdio.h int fflush(FILE *stream);参数 stream指向要刷新的文件流的指针。 返回值 成功返回0失败返回EOF通常是-1。 项目代码 congfig.h #define LS 0 #define GET 1 #define PWD 2#define IFGO 3#define LCD 4 #define LLS 5 #define CD 6 #define PUT 7#define QUIT 8 #define DOFILE 9struct Msg {int type;char cmd[1024];char secondBuf[128]; };服务器 #include stdio.h #include sys/types.h #include sys/socket.h #include arpa/inet.h #include netinet/in.h #include stdlib.h #include string.h #include congfig.h #include unistd.h #include sys/stat.h #include fcntl.h// transfor typeint get_cmd_type(char *cmd) {if(!strcasecmp(ls,cmd)) return LS;//bijiao hanshuif(!strcasecmp(quit,cmd)) return QUIT;if(!strcasecmp(pwd,cmd)) return PWD;if(strstr(cmd,cd)!NULL) return CD;if(strstr(cmd,get)!NULL) return GET;if(strstr(cmd,put)!NULL) return PUT;return 0; }//get input comd char *getDesDir(char *cmsg) {char *p;p strtok(cmsg, );p strtok(NULL, );return p; }//processing command void msg_handler(struct Msg msg,int fd) {char cmdBuf[1024] {0};char *file NULL;int fdfile;printf(from client cmd is %s\n,msg.cmd);int ret get_cmd_type(msg.cmd); //transfor cmd typeswitch(ret){case LS:case PWD:msg.type 0;FILE *r popen(msg.cmd,r);fread(msg.cmd,sizeof(msg.cmd),1,r);write(fd,msg,sizeof(msg));break;case CD:msg.type 1;char *dir getDesDir(msg.cmd);printf(the target file is:%s\n,dir);chdir(dir);//system funbreak;case GET:file getDesDir(msg.cmd);if(access(file,F_OK) -1){strcpy(msg.cmd,file not found);write(fd,msg,sizeof(msg));}else{msg.type DOFILE;fdfile open(file,O_RDWR);read(fdfile,cmdBuf,sizeof(cmdBuf));close(fdfile);strcpy(msg.cmd,cmdBuf);write(fd,msg,sizeof(msg));}break;case PUT:fdfile open(getDesDir(msg.cmd),O_RDWR|O_CREAT,0600);write(fdfile,msg.secondBuf,strlen(msg.secondBuf));close(fdfile);break;case QUIT:printf(disconnect\n);exit(-1);}// return 0; }int main(int argc,char **argv) {int s_fd;char readbuf[128];int nread;int mark0;// char msg[1024]{0};struct sockaddr_in s_addr;struct sockaddr_in c_addr;struct Msg msg;if(argc!3){printf(param is not good\n);exit(-1);}memset(s_addr,0,sizeof(struct sockaddr_in));memset(c_addr,0,sizeof(struct sockaddr_in));//1.sockets_fdsocket(AF_INET,SOCK_STREAM,0);if(s_fd-1){perror(socket);exit(-1);}//2.binds_addr.sin_familyAF_INET;s_addr.sin_porthtons(atoi(argv[2]));inet_aton(argv[1],s_addr.sin_addr);bind(s_fd,(struct sockaddr *)s_addr,sizeof(struct sockaddr_in));//3.listenlisten(s_fd,10);//4.acceptint clensizeof(struct sockaddr_in);while(1){int c_fdaccept(s_fd,(struct sockaddr*)c_addr,clen);if(c_fd-1){perror(accept);}printf(connect\n);mark;sleep(2);printf(get connect:%s\n,inet_ntoa(c_addr.sin_addr));if(fork()0){while(1){//5.readmemset(msg.cmd,0,sizeof(msg.cmd));nreadread(c_fd,msg,sizeof(msg));if(nread 0){perror(read);printf(connet not);exit(-1);}else if(nread 0){msg_handler(msg,c_fd);//send msg to func}}break;} }return 0; }客户端 #include sys/types.h /* See NOTES */ #include sys/socket.h #includestdio.h #includestdlib.h #include arpa/inet.h #includestring.h #include unistd.h #includecongfig.h #include fcntl.hchar *getdir(char *cmd) {char *p;p strtok(cmd, );p strtok(NULL, );return p; }int get_cmd_type(char *cmd) {if(strstr(cmd,lcd)) return LCD;if(!strcmp(quit,cmd)) return QUIT;if(!strcmp(ls,cmd)) return LS;if(!strcmp(lls,cmd)) return LLS;if(!strcmp(pwd,cmd)) return LS;if(strstr(cmd,cd)) return CD;if(strstr(cmd,get)) return GET;if(strstr(cmd,put)) return PUT;return -1; }int cmd_handler(struct Msg msg,int fd) {char *dir NULL;char buf[32];int ret;int filefd;ret get_cmd_type(msg.cmd);switch(ret){case LS:case CD:case PWD:msg.type 0;write(fd,msg,sizeof(msg));break;case GET:msg.type 2;write(fd,msg,sizeof(msg));break;case PUT:strcpy(buf,msg.cmd);dir getdir(buf);if(access(dir,F_OK) -1){printf(%s not exsit\n,dir);}else{filefd open(dir,O_RDWR);read(filefd,msg.secondBuf,sizeof(msg.secondBuf));close(filefd);write(fd,msg,sizeof(msg));}break;case LLS:system(ls);break;case LCD:dir getdir(msg.cmd);chdir(dir);break;case QUIT:strcpy(msg.cmd,quit);write(fd,msg,sizeof(msg));close(fd);exit(-1);}return ret; }void handler_server_message(int c_fd,struct Msg msg) {int n_read;struct Msg msgget;int newfilefd;n_read read(c_fd,msgget,sizeof(msgget));if(n_read 0){printf(server is out,qiut\n);exit(-1);}else if(msgget.type DOFILE){char *p getdir(msg.cmd);newfilefd open(p,O_RDWR|O_CREAT,0600);write(newfilefd,msgget.cmd,strlen(msgget.cmd));putchar();fflush(stdout);}else{printf(-----------------------);printf(\n%s\n,msgget.cmd);printf(-----------------------);putchar();fflush(stdout);}}int main(int argc,char **argv) {int c_fd;struct sockaddr_in c_addr;struct Msg msg;memset(c_addr,0,sizeof(struct sockaddr_in));if(argc ! 3 ){printf(鍙傛暟涓嶅!\n);exit(-1);}c_fd socket(AF_INET,SOCK_STREAM,0);if(c_fd -1){perror(socket);exit(-1);}c_addr.sin_family AF_INET;c_addr.sin_port htons(atoi(argv[2]));inet_aton(argv[1],c_addr.sin_addr);if(connect(c_fd,(struct sockaddr *)c_addr,sizeof(struct sockaddr)) -1){perror(connect);exit(-1);}printf(连接成功.......\n);int mark 0;while(1){memset(msg.cmd,0,sizeof(msg.cmd));if(mark 0) printf();gets(msg.cmd);if(strlen(msg.cmd) 0){if(mark 1){printf();}continue;}mark 1;int ret cmd_handler(msg,c_fd);if(ret IFGO){putchar();fflush(stdout);continue;}if(ret -1){printf(command not\n);printf();fflush(stdout);continue;}handler_server_message(c_fd,msg); }return 0; }运行结果
http://wiki.neutronadmin.com/news/407965/

相关文章:

  • 五台网站建设长安网站建设软件开发
  • 精美图片做网站上哪儿去找图wordpress 标签作用
  • 网站高端网站建设html5和html的区别
  • 最早做淘宝客的网站英语网站的建设需要
  • 商务网站的基本情况企业展厅装修
  • 成都优化网站厂家vs做的小型网站例
  • 手机怎么做网站教程合肥网站建设pqiw
  • 买个网站域名多少钱怎么进入自己网站主机地址
  • 西安建站系统网站正在建设模板
  • 双辽做网站美容店网站建设
  • 百度站长平台链接提交wordpress页面大小调节
  • 中国建设银行积分兑换网站天津市建设与管理局网站下载
  • 西安网站建设推荐宁波哪个公司建网站
  • 有哪些做mg动画的素材网站响应式网站图解
  • 自己怎么做网站空间东莞有哪些公司
  • 初中信息技术 网站制作河北大良网站建设
  • 专业做商铺的网站博兴网页设计
  • 设计行业网站城市建设管理
  • 做彩票网站服务器建设部网站是什么网站
  • 郑州网站建设更好郑州做网站推广哪家好
  • 工信部查网站备案网址转app
  • 黄陂区建设招标网站网页代理地址
  • 做网站大约需要多少钱华夏运用网站
  • 网站开发简称电子商务主要就业岗位
  • 站内推广有哪些具体方式淄博百度电话
  • 免费建站网站自助建站的网站建站东莞专业网站建设价格
  • 字体图标制作网站WordPress图片分页浏览
  • 在互联网公司做网站网站建设需要提供什么资料
  • 广东网站设计工具购物网站设计意义
  • 外贸网站的推广什么是企业网站源码