Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
platform
active.directory
adsi
adsi.iis-admin
base
com_ole
complus_mts
component_svcs
database
directx
gdi
graphics_mm
internet.client
internet.server
internet.server.isapi-dev
localization
mapi
messaging
msi
mslayerforunicode
multimedia
networking
networking.ipv6
sdk_install
security
shell
telephony.tapi_2
telephony.tapi_3
telephony.tsp
telephony.wte
tools
ui
ui_shell
win_base_svcs
win16
  
 
date: Mon, 19 May 2008 11:47:15 -0700 (PDT),    group: microsoft.public.platformsdk.networking        back       


WSPSend: problem in returning without really send data   
I need to fake the original WSPSend to make the program think that all
data were sent.
So i've set *NumberOfBytesSent to le total buffer length, *lpErrno =0,
and returned 0.
It works perfectly with IE, but fails with other browaser like
firefoxand opera.
After the WSPSend, IE go straigth no and call the recive function.
Firefox and opera not. I've tried to pass the send to the lower
povider and it work.
Firefox wait something like 3 minutes and then call the recive
function.
I thinked to something that timeout. So i've twice cheched that either
firefox and opera didn't sent an lpOverlapped and an
lpCompletationRoutine structure. They are both null in both the
browser.
I thinked to a problem with the NumberOfBytesSent, but if it is lower
than expected the send function should be recalled. It's really
strange! Why ie works and firefox and opera not? They seem
to wait something to understand that the WSPSend is over!
date: Mon, 19 May 2008 11:47:15 -0700 (PDT)   author:   unknown

Re: WSPSend: problem in returning without really send data   
On May 19, 11:47 am, Cybe...@gmail.com wrote:
> I need to fake the original WSPSend to make the program think that all
> data were sent.
> So i've set *NumberOfBytesSent to le total buffer length, *lpErrno =0,
> and returned 0.
> It works perfectly with IE, but fails with other browaser like
> firefoxand opera.

How are you computing the total buffer length?

DS
date: Tue, 20 May 2008 01:32:02 -0700 (PDT)   author:   David Schwartz

Re: WSPSend: problem in returning without really send data   
Do not multipost. Cross post instead. Read my reply at
microsoft.public.win32.programmer.networks


-- 
V.
This posting is provided "AS IS" with no warranties, and confers no
rights.
 wrote in message 
news:f7023fa5-869f-429f-b084-213b61162d1b@z72g2000hsb.googlegroups.com...
>I need to fake the original WSPSend to make the program think that all
> data were sent.
> So i've set *NumberOfBytesSent to le total buffer length, *lpErrno =0,
> and returned 0.
> It works perfectly with IE, but fails with other browaser like
> firefoxand opera.
> After the WSPSend, IE go straigth no and call the recive function.
> Firefox and opera not. I've tried to pass the send to the lower
> povider and it work.
> Firefox wait something like 3 minutes and then call the recive
> function.
> I thinked to something that timeout. So i've twice cheched that either
> firefox and opera didn't sent an lpOverlapped and an
> lpCompletationRoutine structure. They are both null in both the
> browser.
> I thinked to a problem with the NumberOfBytesSent, but if it is lower
> than expected the send function should be recalled. It's really
> strange! Why ie works and firefox and opera not? They seem
> to wait something to understand that the WSPSend is over!
date: Tue, 20 May 2008 10:34:18 +0200   author:   Volodymyr M. Shcherbyna

Re: WSPSend: problem in returning without really send data   
On 20 Mag, 10:32, David Schwartz  wrote:
> On May 19, 11:47 am, Cybe...@gmail.com wrote:
>
> > I need to fake the originalWSPSendto make the program think that all
> > data were sent.
> > So i've set *NumberOfBytesSent to le total buffer length, *lpErrno =0,> > and returned 0.
> > It works perfectly with IE, but fails with other browaser like
> > firefoxand opera.
>
> How are you computing the total buffer length?
>
> DS

Summing the len of each buffer present into the WSABUF structure.
Somethink like that:
ULONG lenght = 0;
for(DWORD i = 0; i < dwBufferCount; i) length = lpBuffer[i].len;
date: Thu, 22 May 2008 06:02:42 -0700 (PDT)   author:   unknown

Re: WSPSend: problem in returning without really send data   
On May 22, 6:02 am, Cybe...@gmail.com wrote:

> Summing the len of each buffer present into the WSABUF structure.
> Somethink like that:
> ULONG lenght = 0;
> for(DWORD i = 0; i < dwBufferCount; i) length = lpBuffer[i].len;

That should be fine. So long as both completion pointers are NULL, I
can't imagine what you could be doing wrong.

DS
date: Thu, 22 May 2008 16:00:21 -0700 (PDT)   author:   David Schwartz

Re: WSPSend: problem in returning without really send data   
On 23 Mag, 01:00, David Schwartz  wrote:
> On May 22, 6:02 am, Cybe...@gmail.com wrote:
>
> > Summing the len of each buffer present into the WSABUF structure.
> > Somethink like that:
> > ULONG lenght = 0;
> > for(DWORD i = 0; i < dwBufferCount; i++) length += lpBuffer[i].len;
>
> That should be fine. So long as both completion pointers are NULL, I
> can't imagine what you could be doing wrong.
>
> DS

I've understood the problem.
Seem that firefox call the wspselect() function to know the status of
the socket.
If it is readeable, then call the recv function.
So, how to se the status of the socket to readeable??
date: Wed, 4 Jun 2008 11:48:07 -0700 (PDT)   author:   unknown

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us