Am 10.08.2012 15:01, schrieb loial:
I am writing an application to send data to a printer port(9100) and
then recieve PJL responses back on that port. Because of the way PJL
works I have to do both in the same process(script).

If I understand that right, you are opening a TCP connection, so obviously this must be done in the same process, regardless of what PJL (whatever that exactly is) does.


At the moment I do not start to read responses until the data has
been sent to the printer. However it seems I am missing some
responses from the printer whilst sending the data, so I need to be
able to do the 2 things at the same time.

Using TCP, that shouldn't happen, so I really wonder what exactly you are doing here.


Can I open a port once and then use 2 different threads, one to write
to the post and one to read the responses)?

Yes, definitely, take a look at the select() function of the select module. This basically looks like this:

  (r, w, x) = select(...)
  if r:
      # read and handle incoming data
      ...
  if w:
      # write pending output data
      ...
  if x:
      # handle connection failure
      ...


If all this is not what you are doing and what you want (which I'm not 100% sure of) then please elaborate a bit what you're doing and what kind of connection you are using.

Happy hacking!

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

Reply via email to