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

📄 nm_server.c

📁 网管程序.应用于网管主机之间按照规则交换网管数据
💻 C
字号:

#include "binm_socket.h"

 PNMP_DATA  g_pPnmpData;
 char       g_Buffer[MAX_NUM+1];

int main(int argc, char *argv[])
{
	int s_sockfd;
	int s_connfd;
	
	int c_sockfd;
	
	int i;		//计数器
	int n;		//返回值判断
	char strExe[250];
	char strBuffer[4096*2+1];
		
	struct sockaddr_in bi_addr;   //经分地址
	struct sockaddr_in nm_addr;   //网管地址
	struct in_addr  nm_ip_addr;   //网管IP地址
	int sin_size;
	
	char strDigestD[50];
	char strBase64D[50];
	char nLenBase64D;
	
	char strDigestM[50];	
	char strBase64M[50];
	
	////////////////////////////////////作为服务器的功能模块///////////////////
	
	s_sockfd = socket(AF_INET, SOCK_STREAM, 0);
	if ( s_sockfd < 0)
	{
		fprintf(stderr, "Create the server socket error\n");
		exit(1);
	}	
	printf("...The socket id is: %d \n", s_sockfd);
	
	bzero(&nm_addr, sizeof(nm_addr));
	nm_addr.sin_family = AF_INET;
	nm_addr.sin_addr.s_addr = htonl(INADDR_ANY);
	nm_addr.sin_port = htons(NM_PORT);
	
	printf ( "the port is : %d \n", nm_addr.sin_port);
	
	if ( bind(s_sockfd, (struct sockaddr* )&nm_addr, sizeof(nm_addr)) < 0 )
	{
		fprintf(stderr, "Bind error\n");
		exit(1);
	}
	printf("...The socket bind succeedful;   And the Socket is : %d \n", s_sockfd);
	
	if (listen(s_sockfd, 1024)<0)
	{
		fprintf(stderr, "Listen error\n");
		exit(1);
	}
	printf("...The socket listen succeedful\n");
	
	for(;;)
	{
		s_connfd = accept (s_sockfd, (struct sockaddr*)&bi_addr, &sin_size);
		if (s_connfd < 0 )
		{
			printf("Accept error\n");
			exit(1);
		}
		printf("The socket accept succeedful ...And the error: %d: %s\n", errno, strerror(errno));
		// 连接上后, 服务器进行鉴权
		// 鉴权完毕
		
		memset (strBuffer, 0x00, sizeof(strBuffer));
		if(read(s_connfd, strBuffer, 4096 )==-1) 
		{ 
			fprintf(stderr,"Read the Data error: %d: %s\n",errno, strerror(errno)); 
			//exit(1); 
		}
		else
		{
			printf("Read from the client is: %s\n", strBuffer);
		}
		
		close(s_connfd); 
	
	}
	close(s_sockfd);
	
}

⌨️ 快捷键说明

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