?? bcmd.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=8100;int change_table(int tableId,int value)/*改編動態(tài)表*/{ 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)/*改編區(qū)段動態(tài)表*/{ aw->FdNode_DynTab[Id1-0x2000][1]=Id2; aw->FdNode_DynTab[Id1-0x2000][2]=Id3;}B_receivecmd()/*主要接收程序*/{ 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)/*尋循環(huán)起動,*/{ 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); 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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -