音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

tcp的跨網(wǎng)關(guān)實驗

作者:llllgsq 欄目:ARM技術(shù)
tcp的跨網(wǎng)關(guān)實驗
我用2200ARM板作為客戶端,客戶端用ZLG/IP寫網(wǎng)絡(luò)連接程序,服務(wù)器端用VC寫服務(wù)器程序,希望能夠?qū)崿F(xiàn)客戶端與服務(wù)器端的數(shù)據(jù)接收與發(fā)送。在局域網(wǎng)內(nèi)成功實現(xiàn)數(shù)據(jù)的發(fā)送與接受,InterNet上若未跨網(wǎng)關(guān)還能接收發(fā)送,但跨網(wǎng)關(guān)后網(wǎng)絡(luò)程序無法通信,ZLG/IP不支持分段,所以我發(fā)送的數(shù)據(jù)只有100字節(jié),應(yīng)該不涉及分段的問題。不知是ZLG/IP還不夠完善,還是因為在跨網(wǎng)關(guān)的過程中,網(wǎng)關(guān)把數(shù)據(jù)丟棄了,請指教。

2樓: >>參與討論
zlgARM
re:
原因比較多,你可以打電話咨詢020-22644385

3樓: >>參與討論
ddees
你試試這樣改動
uint8  Send_Ip_To_LLC(struct _pkst *TxdData,uint8 *de_ip,uint8 net_number)
{    
    uint8   i,result;

    // 檢查是否屬于本IP段,同一網(wǎng)段內(nèi)最多65535臺節(jié)點
    if((de_ip[0]&NetPort[net_number].My_Ip_Mark[0]) == (NetPort[net_number].My_Ip[0]&NetPort[net_number].My_Ip_Mark[0]))
    if((de_ip[1]&NetPort[net_number].My_Ip_Mark[1]) == (NetPort[net_number].My_Ip[1]&NetPort[net_number].My_Ip_Mark[1]))
    if((de_ip[2]&NetPort[net_number].My_Ip_Mark[2]) == (NetPort[net_number].My_Ip[2]&NetPort[net_number].My_Ip_Mark[2]))
    if((de_ip[3]&NetPort[net_number].My_Ip_Mark[3]) == (NetPort[net_number].My_Ip[3]&NetPort[net_number].My_Ip_Mark[3]))
    {

        for(i=0;i<MAX_ARP_TERM;i++)
        {
            OS_ENTER_CRITICAL();                                // 關(guān)中斷保護數(shù)據(jù)

            if(NetPort[net_number].ARP_TERM[i].IP_NUM[2] == ((IP_NUMBER*)de_ip)->IP[2])
            if(NetPort[net_number].ARP_TERM[i].IP_NUM[3] == ((IP_NUMBER*)de_ip)->IP[3])
            if(NetPort[net_number].ARP_TERM[i].TTL > 0)         // 如果ARP表的最后兩個數(shù)相等而且TTL>0表示,有對應(yīng)的MAC
            {
                NetPort[net_number].ARP_TERM[i].TTL = 100;      // 刷新生存時間并發(fā)送數(shù)據(jù)

                OS_EXIT_CRITICAL();                             // 開中斷退出保護

                result = Ethernet_Send_Frame(TxdData,NetPort[net_number].ARP_TERM[i].MAC_NUM,IP_PACKED,net_number);
                
                return (result);                                // 返回
            }

            OS_EXIT_CRITICAL();                                 // 開中斷退出保護
        }        
        
        Arp_Request(de_ip,net_number);                          // 請求對方MAC
        return (2);
    }

    // 不在IP段里,目標MAC地址變?yōu)榫W(wǎng)關(guān)的MAC地址
    result = Ethernet_Send_Frame(TxdData,NetPort[net_number].My_Gateway,IP_PACKED,net_number);
    if(result == 0)
        return  0;
    

    return  3;
}


// 不在IP段里,目標MAC地址變?yōu)榫W(wǎng)關(guān)的MAC地址
    result = Ethernet_Send_Frame(TxdData,NetPort[net_number].My_Gateway,IP_PACKED,net_number);

這個要改一下就行了

4樓: >>參與討論
llllgsq
謝謝,我試試
 
5樓: >>參與討論
luck_zhan
-
樓主,你的跨網(wǎng)關(guān)成功了嗎?
是用的三樓的方法嗎?

6樓: >>參與討論
chinawzz
我也碰到這個問題,樓主解決了沒?
我也碰到這個問題,樓主解決了沒?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教周工及各位高手,有關(guān)tcp試驗的問題!
請問LPC22xx和LPC21xx的sfr是兼容的么?
請問zlgarm LPC2220從省電狀態(tài)喚醒的問題
LPC2214可不可以用2210的JTAG
請教一個ARM外接AD/DA的問題(不要再刪掉我的貼啊,謝謝)
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號