<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM7單片機+RTL8019嵌入式TCP_IP協(xié)議棧使用分析

ARM7單片機+RTL8019嵌入式TCP_IP協(xié)議棧使用分析

作者: 時(shí)間:2012-12-05 來(lái)源:網(wǎng)絡(luò ) 收藏

WEB服務(wù)器程序清單
/*****************************************************
* 名稱(chēng):TCP_TEST()
* 功能:設置TCP模塊
* 入口:無(wú)
* 出口: 無(wú)
*********************************************************/

void TCP_SETUP(void)
{
/*設置本地TCP服備器的IP地址*/
TCP_serveraddr.sin_family = 0;
TCP_serveraddr.sin_addr[0] = MY_IP_ADD[0];
TCP_serveraddr.sin_addr[1] = MY_IP_ADD[1];
TCP_serveraddr.sin_addr[2] = MY_IP_ADD[2];
TCP_serveraddr.sin_addr[3] = MY_IP_ADD[3];
TCP_serveraddr.sin_port = 80;
/*將TCP server的IP地址與SOCKET綁定*/
t = socket(0,0,TCP_PROTOCOL);
iii=bind(t,TCP_serveraddr,sizeof(TCP_serveraddr));
iii=listen(t,4);

}
/********************************************************
* 名稱(chēng):TCP_TEST()
* 功能:TCP打開(kāi)網(wǎng)頁(yè)測試
* 入口:無(wú)
* 出口: 無(wú)
********************/
void TCP_TEST(void)
{
temp = accept(t,TCP_clientaddr,iii);/*accept網(wǎng)頁(yè)獲取請求*/

if(temp != 0xffff)
{ templen = recv(temp,TCP_rec_buff,1024,0);
if(TCP_rec_buff[5] == ' ')
{ send(temp,httpweb,169,0); /*發(fā)送http網(wǎng)頁(yè)*/
send(temp,web,395,0);

}
else if(TCP_rec_buff[5] == '1')
{
send(temp,httpgif,169,0); /*發(fā)送GIF,BMP圖片背景*/
send(temp,bmp,442,0);
}
close(temp);
}
}

2)簡(jiǎn)單UDP服務(wù)器—通過(guò)函數UDP_TEST()完成設置本地UDP服備器的IP地址和遠端口服務(wù)器的IP地址, 其過(guò)程如下:
1.調用SOCKET API函數socket(0,0,TCP_PROTOCOL)分配一個(gè)SOCKET
2.調用SOCKET API函數bind()將UDP server的IP地址與SOCKET綁定,將調用SOCKET API函數enable_a_port_listen(1025)起動(dòng)監聽(tīng)。
3.函數UDP_TEST()通過(guò)函數recfrom()接收UDP數據報,接收到的UDP數據報調用SOCKET API函數sendto()回傳遠程服務(wù)器。
UDP服務(wù)器程序清單

* 名稱(chēng):UDP_SETUP()
* 功能:設置UDP模塊
* 入口:無(wú)
* 出口: 無(wú)
***********************************************************/
void UDP_SETUP(void)
{
serveraddr.sin_family = 0; /*設置遠端服務(wù)器的IP地址*/
serveraddr.sin_addr[0] = 192;
serveraddr.sin_addr[1] = 168;
serveraddr.sin_addr[2] = 0;
serveraddr.sin_addr[3] = 1;
serveraddr.sin_port = 1026;
s = socket(0,0,UDP_PROTOCOL);
clientaddr.sin_family = 0; /*設置本地UDP客戶(hù)端的IP地址*/
clientaddr.sin_addr[0] = MY_IP_ADD[0];
clientaddr.sin_addr[1] = MY_IP_ADD[1];
clientaddr.sin_addr[2] = MY_IP_ADD[2];
clientaddr.sin_addr[3] = MY_IP_ADD[3];
clientaddr.sin_port = 1025;
/*將本地IP地址與SOCKET綁定*/
iii=bind(s,clientaddr,sizeof(clientaddr));
enable_a_port_listen(1025);
}

/************************************************************
* 名稱(chēng):UDP_TEST()
* 功能:UCP數據報收發(fā)測試
* 入口:無(wú)
* 出口: 無(wú)
*************************************************************/
void UDP_TEST(void)
{
/*接收UDP數據報*/
len = recvfrom(s,rec_buff,400,0,serveraddr,iii);
if(len > 0)
{ /*將接收到的UDP數據報發(fā)送回服務(wù)器端*/
sendto(s,rec_buff,len,0,serveraddr,iii);
}
}

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


tcp/ip相關(guān)文章:tcp/ip是什么



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM7 RTL8019 協(xié)議棧

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>