#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <netdb.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
typedef struct information
{
char ID[20];
char email[40];
} information;
information info[50];
int main( int argc, char *argv[] )
{
int sockfd, newsockfd;
socklen_t addr_size;
struct sockaddr_in serv_addr, cli_addr;
struct in_addr **addr_list;
FILE *fp;
char buffer[256];
struct hostent *hptr;
char *IP;
int i=0, j=0, k=0,n;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0)
{
perror("ERROR socket");
exit(1);
}
bzero((char *) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
serv_addr.sin_port = htons(5343);
if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
{
perror("ERROR binding");
exit(1);
}
if(listen(sockfd,10)){
printf(" Listen Failed!");
exit(1);
}
addr_size = sizeof(cli_addr);
while(1)
{
newsockfd = accept (sockfd, (struct sockaddr *) &cli_addr, &addr_size);
fp = fopen("employee.txt","r");
while(!feof(fp))
{
fscanf(fp,"%s%s", info[k].ID, info[k].email);
k++;
}
fclose(fp);
while(1){
bzero(buffer, 256);
n = read(newsockfd,buffer,255);
while (buffer[i] < 57 && buffer[i] > 48)
i++;
if (n == i)
{
for(j = 0; j < k; j++)
{
if(!strcmp(info[j].ID, buffer))
{
write(newsockfd,info[j].email,strlen(info[j].email));
break;
}
}
if(j==k)
write(newsockfd,"query failed",18);
}
else{
if((hptr = gethostbyname(buffer)) == NULL)
exit(1);
IP = inet_ntoa(*((struct in_addr *)hptr->h_addr));
write(newsockfd,IP,strlen(IP));
}
}
}
close(newsockfd);
return 0;
}
C语言编译的基于Linux下的client与server的DNS与查询
1星 需积分: 50 104 浏览量
2015-07-05
11:23:50
上传
评论 1
收藏 2KB ZIP 举报
naolengzi
- 粉丝: 0
- 资源: 1
最新资源
- 基于Python的图像阴影检测与去除源码(高分期末大作业项目).zip
- 基于C++/Qt实现的井字棋游戏
- 基于 Python 编程语言的 Web 框架Django
- Python和Flask实现的基于体检数据的城市公共健康可视分析系统源码+使用说明.zip
- 基于python实现的华为智慧工地-安全帽检测
- buck-boost_2023-12-16_12-12-13.eprj
- 后端开发关于数据库和API开发的介绍
- 机器学习和数据挖掘课程设计-米其林餐厅数据挖掘管理系统源码+使用文档说明.zip
- html html html展示我与ai的对化
- 数据结构课程设计-全国交通出行咨询模拟系统C语言实现源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈