> I'm really puzzled as to what could be going on here, and > have no idea how to begin to debug/fix it.
Not easy to figure what the problem can be. First it is possible that the sniffer doesn't see all the packets. You could try using SocketSPY (see the "usermade" page at ICS website) to intercept all traffic between one client and the server. You'll see if there are connection lost either between your server and SocketSpy or SocketSpy and your client. SocketSpy has been written by Wilfried Mestdagh who listen on this list. So if you have problem deploying it, just ask here I'm sure Wilfried would answer. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be ----- Original Message ----- From: "Dave R" <[EMAIL PROTECTED]> To: <twsocket@elists.org> Sent: Thursday, November 09, 2006 3:36 PM Subject: [twsocket] Socket not sending SYN ACK - Help? > I've written a fairly simple server app using the TWSocket component. > > The app listens on port 80 for packets with a particular structure, and > sends a reply. I've tested it with up to 12 clients connected, all sending > requests as fast as possible, and all works well. > > As soon as I connect a real client it works for a while then fails then > continues to work again. > > Having done an Ethereal trace of the packets, when it goes wrong I get the > following type of situation (for a given client IP address) > > Time Remote Port Local Port Flags Notes > > --- 24997 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 0.0 24997 <- 80 [SYN ACK] Seq=0 Ack=1 Len=0 MSS=1460 Win=65535 > > 0.2 24997 -> 80 [RST ACK] Seq=1 Ack=1 Win=0 Len=0 > > Here my application has seen a client connection and disconnection. > > 1.4 24998 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 24998 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 24998 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 24998 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 24998 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > Here my application has also seen a client connection and disconnection, but > the trace shows no connection was established. > > 2.2 25000 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25000 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25000 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25000 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25000 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > Here my application has also seen a client connection and disconnection, but > the trace shows no connection was established. > > This pattern repeats 8 more times (port numbers 25001-25008) then I get > > 0.6 25009 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25009 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25009 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25009 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25009 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > My application does *not* see a connection for remote port 2509 > > 10.3 25010 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.6 25011 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 1.0 25011 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 0.2 25010 <- 80 [SYN ACK] Seq=0 Ack=1 Len=0 MSS=1460 Win=65535 > > 0.2 25010 -> 80 [RST ACK] Seq=1 Ack=1 Win=0 Len=0 > > 0.2 25011 -> 80 [SYN] Seq=0 Len=0 MSS=1460 > > 0.0 25011 <- 80 [ACK] Seq=0 Ack=1 Len=0 Win=65535 > > 1.0 25011 <- 80 [SYN ACK] Seq=0 Ack=1 Len=0 MSS=1460 Win=65535 > > 0.0 25011 -> 80 [ACK] Seq=0 Ack=1 Len=0 Win=4096 TCP ACKed Lost Segment > > 0.0 25011 <- 80 [ACK] Seq=0 Ack=1 Len=0 Win=65535 > > 0.2 25011 -> 80 [ACK] Seq=1 Ack=1 Len=0 Win=4096 TCP ACKed Lost Segment > > 0.0 25011 -> 80 [ACK] Seq=1 Ack=1 Len=0 Win=4096 TCP Dupe ACK > > 0.0 25011 -> 80 [PSH ACK] Seq=1 Ack=1 Len=66 Win=4096 > > 0.1 25011 <- 80 [PSH ACK] Seq=1 Ack=67 Len=8 Win=65469 > > 0.2 25011 -> 80 [ACK] Seq=67 Ack=9 Len=0 Win=4088 > > 0.0 25011 <- 80 [PSH ACK] Seq=9 Ack=67 Len=16 Win=65469 > > 0.2 25011 -> 80 [ACK] Seq=67 Ack=25 Len=0 Win=4080 > > My app sees a connect and disconnect for remote port 25010 then a connect > from port 25011 which seems to be handled correctly. > > It then works for a while until a similar pattern is repeated. > > The times shown are seconds since the previous packet. > > I'm really puzzled as to what could be going on here, and have no idea how > to begin to debug/fix it. > > The Ethereal trace is from the machine running the app, so no packets could > have been lost between the PC upon which the app is running and the machine > logging the packets. > > I really would appreciate any pointers you can give. > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be