實(shí)時(shí)操作系統(tǒng)uC/0S II下TCP/IP協(xié)議棧的實(shí)現(xiàn)
實(shí)用Berkley API實(shí)現(xiàn)的tcpecho_thread是一個(gè)TCP echo服務(wù)器,*7號(hào)端口,程序框架如下:
void tcpecho_thread(void *arg){
conn = netconn_new(NETCONN_TCP); //創(chuàng)建新的連接標(biāo)識(shí)
netconn_bind(conn, NULL, 7); //綁定到7號(hào)端口
netconn_listen(conn); //開始*端口
while(1){
newconn = netconn_accept(conn); //接收外部到來的連接
buf = netconn_recv(newconn) //獲取數(shù)據(jù)
……. //處理數(shù)據(jù)
netconn_write(newconn, data, len, NETCONN_COPY); //發(fā)送數(shù)據(jù)
netconn_delete(newconn); //釋放本次連接
}
}
編譯運(yùn)行后,用ping ip地址命令可以得到ICMP reply響應(yīng)。用telnet ip地址 7(登錄7號(hào)端口)命令可以看到echo server的回顯效果。說明ARP、ICMP、IP、TCP協(xié)議都已正確運(yùn)行。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)c語言相關(guān)文章:c語言教程
linux相關(guān)文章:linux教程
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論