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

📄 bcmd.c

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -