請(qǐng)教WebServer Request請(qǐng)求分包如何合并處理?

先把三個(gè)問題列一下:

1、TCP接收的分包如何合并 ??

2、WEB Server占用內(nèi)存如何減少?64K都快被它用完了。

3、23年9月的例程如何才能正常工作 ?


問題1的具體情況:

我使用的是32V208RUB6,基于22年1月WCHNET_LIB_VER=15 版本例程上修改時(shí)發(fā)現(xiàn),

瀏覽器端請(qǐng)求包超過800字節(jié)后會(huì)被分包處理,造成后續(xù)包中的數(shù)據(jù)丟失(第一個(gè)包能被識(shí)別為HTTP數(shù)據(jù),分包后的數(shù)據(jù)被識(shí)別為ERR數(shù)據(jù))。


在數(shù)據(jù)接收函數(shù)中看不出和分包有關(guān)的處理

void WCHNET_HandleSockInt(u8 socketid, u8 intstat) {

? ? u32 len;


? ? if (intstat & SINT_STAT_RECV)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//receive data

? ? {

? ? ? ? len = WCHNET_SocketRecvLen(socketid, &bufAddr);

? ? ? ? printf("\r\n - - - - - WCHNET_SocketRecvLen %d? socket id %d\r\n", len, socketid);

? ? ? ? if (len) {

? ? ? ? ? ? WCHNET_SocketRecv(socketid, RecvBuffer, &len);

? ? ? ? ? ? DealDataflag = 1;

? ? ? ? ? ? socket = socketid;

? ? ? ? }

? ? }


特此請(qǐng)教該 如何合并分包?謝謝 !


分包數(shù)據(jù)有時(shí)候會(huì)在串口重復(fù)輸出多次:

HTTP Method=3? Post

URL name: success.html

提交的內(nèi)容__PMAC=1.2.3.4.5.6&__PSIP=192.168.1.10&__PMSK=255.255.255.0&__PGAT=192.168.1.1&__PMOD=1&__PSPT=1000&__PDIP=192.168.1.240&__PDPT=1000&__PUSE=admin&__PPAS?


?- - - - - WCHNET_SocketRecvLen 6? socket id 2

收到 6 字節(jié),addr=0x200015f8?

=12345

接收數(shù)據(jù)打印完畢

?

HTTP Method=0? Error

URL name: success.html


?- - - - - WCHNET_SocketRecvLen 6? socket id 2

收到 6 字節(jié),addr=0x200015f8?

=12345

接收數(shù)據(jù)打印完畢

?

HTTP Method=0? Error

URL name: success.html

TCP Disconnect

TCP Connect Success



問題3相關(guān)數(shù)據(jù):

23年9月18的版本上傳后不工作,沒能測試WebServer是否存在分包的問題。

23年9月18版本串口打印如下:但是網(wǎng)不通,無法PING通,無法打開 網(wǎng)頁

WEB SERVER

SystemClk:120000000

net version:18

WEB SERVER

SystemClk:120000000

net version:18

ip: 192.168.1.10.

mac addr: 1 2 3 4 5 6?

WCHNET_LibInit Success

SocketIdForListen 0

desport: 1000, srcport: 1000

desip:192.168.1.100

mode 1

__ASIP = 1.2.3.4.5.6

__ASIP = 192.168.1.10

__AMSK = 255.255.255.0

__AGAT = 192.168.1.1

__AMOD = 1

__ASPT = 1000

__ADIP = 192.168.1.100

__ADPT = 1000

__AUSE = admin

__APAS = 123

PHY Link Success

TCP Timeout

desport: 1000, srcport: 1000

desip:192.168.1.100

mode 1

TCP Timeout


您好,關(guān)于第一個(gè)問題,可以根據(jù)HTTP報(bào)文的結(jié)尾來判斷收到的命令請(qǐng)求是否收完,等全部收完再進(jìn)行數(shù)據(jù)處理,第二個(gè)問題的話,可以適當(dāng)減小定義的數(shù)組大小來節(jié)省內(nèi)存,第三個(gè)問題我這邊目前沒有復(fù)現(xiàn),測試是正常的,使用網(wǎng)絡(luò)例程的時(shí)候可以把防火墻關(guān)掉,后續(xù)可以通過郵箱溝通一下:kx@wch.cn


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频