On 10/21/2010 4:05 PM, Todd Walter wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, 21 Oct 2010 17:03:58 +0100
MRAB<pyt...@mrabarnett.plus.com>  wrote:

On 21/10/2010 15:57, Todd Walter wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, 21 Oct 2010 00:07:58 +0100
MRAB<pyt...@mrabarnett.plus.com>   wrote:

[snip]

The docs for 'sendto' say:

       """The socket should not be connected to a remote socket,
since the destination socket is specified by address."""

Could your problem be caused by you binding the socket to a source
port, so it's going out both to the bound port _and_ the one given
the binding?

Have you tried using two sockets, one outgoing and the other
incoming?

BTW, your code for handling the response doesn't cope with it
coming in a bit at a time. It loops discard any previous data from
the previous iteration.

Also, it's more Pythonic to say:

       while '\r' not in response:
           ...
I haven't bound the socket to a remote port, as I read it; it'sp
bound to a source port (192.168.10.2:2260, the local machine) and
just transmits to an address with a port glommed onu sn
(192.168.10.1:2002, the PLC).
[snip]
What I meant was that you're using 'pcSocket' for both directions and
using .bind on it.

Try creating two sockets, 'pcInSocket' and 'pcOutSocket', and bind
only pcOutSocket.
As it turns out, Windows will throw a 10022 if you try and .recvfrom
on an unbound port so I went back to the old way as it didn't seem to
be related to my problem.  I re-captured the packets from the utility
again and I noticed that my text string is getting s p a c e d o u t
in the datagram whereas the primary utility sends a nice cohesive
"spacedout".  My early transmissions work this way, successfully, as
well and I think it is because either Python or Windows is treating my
text strings differently than my numerical strings; more clearly when I
send "1234" it goes out "1234" and when I send "Todd" it goes out as
"T o d d ".   This will obviously overflow the PLC and cause a reset.

Any ideas?

Regards,

- - Todd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEARECAAYFAkzAnQUACgkQwnknPuQqPIOx6QCgjNP/S/dODwO/c7xk8xKZk1A7
IMQAniGKd5yaqRo3nAmHJJsrkEP6iL/j
=aH+4
-----END PGP SIGNATURE-----


what version of python are you using?
It sounds like you might be using python 3 which uses unicode for strings.
you would need to switch to bytes like b"Todd"

 - tom


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to