?? bcmd.c
字號:
/* 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=8096;int change_table(int tableId,int value){ if((tableId>=0x8000)&&(tableId<=0x8018)) { SgNode_DynTab[tableId-0x8000][1]=value; g_print("/************8888888/%3x\n", SgNode_DynTab[tableId-0x8000][1]); } else if ((tableId>=0x4000)&&(tableId<=0x4010)) { SwNode_DynTab[tableId-0x4000][1]=value; g_print("/************/%3x\n", SwNode_DynTab[tableId-0x4000][1]); }}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; 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); 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("\nReceive from M machine: %s\n",buf); int k,rev[2]={}; char *sp=" "; char *tmp; int i=1; rev[0]=strtoul(strtok(buf,sp),NULL,16); while(tmp=strtok(NULL,sp)) rev[1]=strtoul(tmp,NULL,16); change_table(rev[0],rev[1]); } close(temp_sock_descriptor); }//while nei bu }//while wai bu}//main
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -