當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]環(huán)境:主機(jī):WIN7開(kāi)發(fā)環(huán)境:MDK4.72MCU:STM32F103ZE說(shuō)明:在項(xiàng)目中我要搭建一個(gè)服務(wù)器,服務(wù)器域名固定,但ip是動(dòng)態(tài)的.每一個(gè)帶w5100的板子需要解析dns,獲得服務(wù)器ip.dns協(xié)議格式:參考鏈接:http://blog.csdn.net/wangyife

環(huán)境:

主機(jī):WIN7

開(kāi)發(fā)環(huán)境:MDK4.72

MCU:STM32F103ZE


說(shuō)明:

在項(xiàng)目中我要搭建一個(gè)服務(wù)器,服務(wù)器域名固定,但ip是動(dòng)態(tài)的.每一個(gè)帶w5100的板子需要解析dns,獲得服務(wù)器ip.


dns協(xié)議格式:

參考鏈接:http://blog.csdn.net/wangyifei0822/article/details/2316857


源代碼:

dns請(qǐng)求:



mily:SimHei;">/*********************************************************************

*dns請(qǐng)求

*參數(shù):socket:端口

*url:目標(biāo)url

*dns_ip:dns服務(wù)器ip

**********************************************************************/

voidinf_w5100_dns_query(uint8_tsocket,char*url,uint8_t*dns_ip)

{

uint8_tdata[100]={0};

uint8_ti=0;

uint8_tj=0;

uint8_tstr_len=0;

uint8_tindex_num=0;

//dns標(biāo)識(shí)字段

data[i++]=(DNS_ID>>8)&0xff;

data[i++]=DNS_ID&0xff;

//dns頭

data[i++]=0x01;

data[i++]=0x00;

data[i++]=0x00;

data[i++]=0x01;

data[i++]=0x00;

data[i++]=0x00;

data[i++]=0x00;

data[i++]=0x00;

data[i++]=0x00;

data[i++]=0x00;

//正文

j=0;

str_len=0;

index_num=i++;

while(1)

{

//判斷是否到字符末尾

if(url[j]=='