Login  
Search All Forums
Dart Home | PowerTCP Web for ActiveX | Custom Development Reply | PowerTCP Web for ActiveX Topics | Forums   
AuthorForum: PowerTCP Web for ActiveX
Topic: POST times out.
N/A posted September 5, 2001 9:21 PM

I have written a server application that responds to post requests using the DART SSL Tool. It works fine for all but one client. That client is using the Dart WebControl. Half the time I receive the complete request and half the time the request only gets as far as the User-agent header.

SAMPLE OF BAD ONE...

POST / HTTP/1.1
Accept: */*
Date: Wed, 05 Sep 2001 22:29:29 GMT
Connection: Keep-Alive
Host: xxxxxxxxxxxxxxxxxxxxxx
Content-Language: en, fr
Content-Type: multipart/form-data; boundary=EBTpart;
Content-Length: 317
User-Agent: Dart Communications PowerTCP


WHEN IT STOPS IT ALWAYS STOPS HERE, THE FOLLOWING ILLUSTRATES THE COMPLETE REQUEST...




POST / HTTP/1.1
Accept: */*
Date: Wed, 05 Sep 2001 22:48:34 GMT
Connection: Keep-Alive
Host: xxxxxxxxxxxxxxxxxxxxx
Content-Language: en, fr
Content-Type: multipart/form-data; boundary=EBTpart;
Content-Length: 317
User-Agent: Dart Communications PowerTCP

--EBTpart
Content-Disposition: form-data; name="sender"

xxxxxxxxxxxxxxx
--EBTpart
Content-Disposition: form-data; name="user_id"

xxxxxxxxxxxxxxx
--EBTpart
Content-Disposition: form-data; name="user_password"

xxxxxxxxxxxxxxx
--EBTpart
Content-Disposition: form-data; name="request_type"

Directory
--EBTpart--

Do you have any idea why we would see this only on this Dart Power TCP user.


K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted September 6, 2001 12:17 PM


Hi Tracy,
Do you know if this is a client- or server-side problem? In other words, are you sure the client is sending the complete request?
If yes, how are you receiving the data? 
Thanks,
-ken

K M Drake
Dart Tech Support
N/A posted September 6, 2001 12:42 PM

Hi Ken

No I'm not sure the client is sending out the complete data. In fact I think it probebly is not. The Client is written in VB6 and uses your Web Control to do the post. The server app I have written works fine for other clients and only sees these partial requests from the Dart Web Control. My Server app is written in VB6 and use the Dart SSL TCPcontrol. I've modified my app so that when it sees the partial request it checks the TCPcontrol.receivebuffercount (in case the receive event was not being trigered) but the size is zero. I've also made my app sent an HTTP/1.1 100 Continue to try to get things rolling but that doesn't help. Is there any thing the web control needs from my server app to ensure it sends the complete request?

Thanks

Tracy
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted September 6, 2001 5:25 PM


Hi Tracy,
The first thing you should do is find out exactly what the client is sending. I am interested to know how the Web Control is being used to send the Post, because it does not automatically create multipart messages like the one you posted.
If you can use some sort of sniffer to look at the message, or a debugging server (such as the one currently shipping with the Winsock Tool), that would help diagnose the problem. 
The client does not need anything from the server to formulate a proper message.
-ken

K M Drake
Dart Tech Support
N/A posted September 6, 2001 5:49 PM

Hi Ken

Can you suggest a sniffer I could use? The connection is SSL so everything would be encrypted would it not? How would I tell if the client software is sending all it should? Do you folks have a per incident or hourly consulting fee for this type of thing?

Thanks

K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted September 7, 2001 10:21 AM


Hi,
Sorry, I do not have a sniffer recommendation.
If you set up our debug server, the connection would not have to be over SSL. You would just do an Http Post to the machine running the server.

You could also quickly create something yourself with the Daemon and Tcp controls (part of the DartSock.dll - you have them in trial). The following simple project (form, button, Daemon control, Tcp control) would work:

Private Sub Command1_Click()
  Daemon1.Listen 80
End Sub

Private Sub Daemon1_Accept()
  Tcp1.Socket = Daemon1.Accept
End Sub

Private Sub Tcp1_Receive()
Dim s As String
  Tcp1.Receive s
  Debug.Print s
End Sub

This should show you exactly what the client is sending out.
We do have a number of support options, including incident support. You should contact our sales department for more info.
-ken

K M Drake
Dart Tech Support
Reply | PowerTCP Web for ActiveX Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX