I’m developing an ActiveX program to receive data from the AV device on the LAN/WAN. The data format is multi-part form. It works fine on most PCs except those the “avast! Antivirus” was installed.
The packet sent by PC is listed below.
GET /cgi/liveview.cgi?action=set&channel.0.command=play HTTP/1.1
Host: 192.168.0.18:80
User-Agent: TwSoft HTTP/RTSP/SOAP Module/1.0
Cache-Control: no-cache
Connection: Keep-Alive
Accept: /
sessionid: 14
Authorization: Basic YWRtaW46YWRtaW4=
The packets reported from device are listed below.
HTTP/1.1 200 OK
Server: httpd-twsoftware/1.00 beta 11/2006
Content-type: multipart/x-mixed-replace; boundary=–mystreamboundary
Cache-Control: no-cache
–mystreamboundary
Content-Type: notify/info
Content-Length: 247
notify.audio.format=aac
notify.audio.encode=linear
notify.audio.protocol=hbr
notify.audio.sizelength=13
notify.audio.samplerate=8000
notify.audio.bitsample=16
notify.audio.bitrate=32000
notify.audio.ssrc=89faea6
notify.audio.endmark=true
From the log, my program can just received, by recv() function, 17 bytes, “HTTP/1.1 200 OK\r\n”, at first time. Because the data was not full, my program tried to receive again and got a SOCKET_ERROR error with WSAECONNABORTED returned by WSAGetLastError(). After some tests, I found the program can work fine if “Web Shield” was disabled or even just add “multipart/x-mixed-replace” into the list of “MIME types to excluded” in “Exceptions” page of “Resident task settings” dialog launched by clicking “Customize…” button.
Any suggestion will be appreciate. Thanks.