⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcmd_bk.h

📁 linux下的人机对话编程
💻 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 + -