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

📄 routerassistserver.h

📁 linux下串口的访问
💻 H
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//#include "common.h"

#define GatewayPort	10000
#define BufferLen	1024
#define GatewayIP	"192.168.1.1"

#define DATA_BEGIN		1
#define DATA_SIGNAL_VALUE	1
#define DATA_CARD_TYPE		2
#define DATA_WAN_PROTOCOL	3
#define DATA_UP_FLOW		4
#define DATA_DOWN_FLOW		5
#define DATA_DIAL_LOG		6
#define DATA_END		DATA_DIAL_LOG+1

char * GetDataValue( unsigned char type )
{
	static char str[512];
	char *p;

	switch ( type )
	{
	case DATA_SIGNAL_VALUE:
		p = "Unkown";
		break;
	case DATA_CARD_TYPE:
		p = nvram_get( NVRAM_CARD_TYPE );
		if (p==NULL)
			p = "Get failure.";
		break;
	case DATA_WAN_PROTOCOL:
		
		break;
	case DATA_UP_FLOW:
		break;
	case DATA_DOWN_FLOW:
		break;
	case DATA_DIAL_LOG:
		break;

	}
	strcpy( str, p );
	return str;
}

int SetLogPocket( char *buf, unsigned char type )
{
	short len;
	char  *data;

	if ( buf==NULL || len<0 )
		return -1;
	
	buf[0] = type;

	data = GetDataValue( type );
	len = strlen( data );
	memcpy( buf+1, &len, 2 );

	memcpy( buf+3, data, len );

	return len+3;
}

int ProcessEvent( int newfd )
{
	char buf[512];
	int  len;
	int  ret;
	int  i;

	while ( 1 )
	{
		for (i=DATA_BEGIN; i<DATA_END; i++ )
		{
			len = SetLogPocket( buf, DATA_SIGNAL_VALUE );
			ret = nWriten( newfd, buf, len );
			if ( ret<=0 )
			{
				perror("nWriten");
				return -1;
			}
		}
		sleep(1);
	}
	return 0;	
}

// for router assist
void RouterAssistServer(void*para)
{
	int fd;

	PrintS( "Server start..." );
	// Create Socket fd
	fd = nServerTcp( GatewayPort );
	if ( fd < 0 )
	{
		PrintS( "create error\n" );
		return -1;
	}	

	while (1)
	{
		int ret;
		int newfd;

		PrintS( "Accept..." );
		newfd = nAccept( fd );
		PrintInt( newfd );
		if ( newfd < 0 )
		{
			PrintS( "accpet error\n" );
			return -3;
		}
		ret = ProcessEvent( newfd );
		if ( ret==0 )
			;//PrintS("=====Transsmision Success=====");
		else
		{
			close( newfd );
			//close( fd );
			PrintInt ( ret );
			PrintS("=====Transsmision Error=====");
		}
		
	}
	
	PrintS( "Server End" );
}


int main(int argc, char *argv[])
{

	RouterAssistServer();	
	return 1;
}



⌨️ 快捷键说明

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