📄 nm_server.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 + -