📄 bcmd_bk.h
字号:
/* Mserver_B_getdata.c *//*#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h>#include <stdio.h>#include"sg.h"#include"switch.h"#include"main.h"*/int port_revcmd_bk=8200;/*int change_table(int tableId,int value){ if((tableId>=0x8000)&&(tableId<=0x8018)) { aw->SgNode_DynTab[tableId-0x8000][1]=value; aw->flag_SG[tableId-0x8000]=1; g_print("************8888888/%3x\n", aw->SgNode_DynTab[tableId-0x8000][1]); } else if ((tableId>=0x4000)&&(tableId<=0x4010)) { aw->SwNode_DynTab[tableId-0x4000][1]=value; g_print("***********%3x\n", aw->SwNode_DynTab[tableId-0x4000][1]); }}int change_table_FD(int Id1,int Id2,int Id3){ aw->FdNode_DynTab[Id1-0x2000][1]=Id2; aw->FdNode_DynTab[Id1-0x2000][2]=Id3;}*/B_receivecmd_bk()/*主要接收程序*/{ struct sockaddr_in sin; struct sockaddr_in pin; int sock_descriptor; int temp_sock_descriptor; int address_size; char x[30]; char *a="AAAA"; char *b="BBBB"; int i,len1,len2; FILE *fp; /* attach the shared memory area */ aw=(struct area_window *)shmat(shmid_win, 0, 0); while(1)/*寻循环起动,*/{ sock_descriptor=socket(AF_INET,SOCK_STREAM,0); if(sock_descriptor==-1) { perror("call to socket"); continue; } bzero(&sin,sizeof(sin)); sin.sin_family=AF_INET; sin.sin_addr.s_addr=htonl(INADDR_ANY); sin.sin_port=htons(port_revcmd_bk); if(bind(sock_descriptor,(struct sockaddr *)&sin,sizeof(sin))==-1) { perror("call to bind"); close(sock_descriptor); sleep(50); continue; } if(listen(sock_descriptor,20)==-1) { perror("call to listen"); close(sock_descriptor); continue; } printf("b Accepting connections ...\n");while(1) { char buf[800]={};temp_sock_descriptor=accept(sock_descriptor,(struct sockaddr *)&pin,&address_size); if(temp_sock_descriptor==-1) { perror("call to accept"); close(sock_descriptor); break;; } if(recv(temp_sock_descriptor,buf,800,0)==-1) { perror("call to recv"); close(sock_descriptor); break;; } // printf("\nReceived form client: %s\n",buf);//receiveif(strlen(buf)!=0) { printf("\n B Receive from Liansuo machine: %s\n",buf); int k,rev[3]={}; char *sp="#"; char *tmp; int i=1; rev[0]=strtoul(strtok(buf,sp),NULL,16); while(tmp=strtok(NULL,sp)) rev[i++]=strtoul(tmp,NULL,16); if(i==2) {change_table(rev[0],rev[1]); char cod[10]=""; char codstr[10]=""; for(i=0;i<2;i++) { snprintf(cod,sizeof(cod),"%x",rev[i]); strcat(cod," "); strcat(codstr,cod); } aw->flag_revInfo=1; strcpy(aw->ID,codstr); }//i=2 else if(i==3) {change_table_FD(rev[0],rev[1],rev[2]); char cod[10]=""; char codstr[10]=""; for(i=0;i<3;i++) { snprintf(cod,sizeof(cod),"%x",rev[i]); strcat(cod," "); strcat(codstr,cod); } aw->flag_revInfo=1; strcpy(aw->ID,codstr); }//i=3 }//if(buf) close(temp_sock_descriptor); }//while nei bu }//while wai bu}//main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -