socket.connect() hangs in SYN_SENT state.

Miles semanticist at gmail.com
Sun Jul 13 16:08:28 EDT 2008


On Sun, Jul 13, 2008 at 2:32 PM, bukzor <workitharder at gmail.com> wrote:
> On Jul 13, 1:14 am, Miles <semantic... at gmail.com> wrote:
>> On Sat, Jul 12, 2008 at 11:23 PM, bukzor <workithar... at gmail.com> wrote:
>> > I'm connecting to an apache2 process on the same machine,
>> > for testing. When looking at netstat, the socket is in the SYN_SENT
>> > state, like this:
>>
>> > $netstat -a -tcp
>> > tcp        0      0 *:www                   *:* LISTEN      7635/apache2
>> > tcp        0      1 bukzor:38234            adsl-75-61-84-249.d:www SYN_SENT    9139/python
>>
>> > Anyone know a general reason this might happen? Even better, a way to
>> > fix it?
>>
>> That socket connection is to a remote machine, not the same one.  Your
>> test code works fine for me.  The "hang then crash" (and I'm assuming
>> "crash" here means an uncaught exception) just means that your packets
>> are being silently ignored by whatever machine you're actually
>> attempting to connect to. It's possible that your machine has odd DNS
>> settings causing buzkor.hopto.org to resolve to the wrong address.
>
> I'm connecting to my machine through the internet, and the resolved
> URL of my router is what you're seeing above. If you run the code
> above you'll see what I mean.

I did run the code, and as I said, it works fine.  Your description of
the setup is not consistent. The netstat output unambiguously states
that a Python script on "buzkor" is attempting to open a connection to
the HTTP port on the "adsl" machine (and failing because "adsl" is not
responding).  The problem here is not Python; you seem to be confused
about which machine is connecting to which.

-Miles



More information about the Python-list mailing list