Re: do something in time interval
Petr, I am not an expert, but why not to use time.sleep(5)? If you are using wxPython, you may also try wx.Timer, in which you could set its interval. Good luck! Leon On Tue, Oct 7, 2008 at 2:07 AM, Petr Jakes <[EMAIL PROTECTED]> wrote: > I have infinitive loop running script and I would like to check > something periodically after 5 seconds (minutes, hours...) time period > (I do not mean time.sleep(5) ). Till now, I have following script, but > I think there must be something more elegant. > > eventFlag = False > while 1: >time.sleep(0.01) >seconds = time.time() >if not int(seconds % (5)): >if eventFlag: >print "5 seconds, hurray" >eventFlag = False >else: >eventFlag = True > > Best regards > > Petr Jakes > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list
the pipe reading in Thread dose not work.
#!/usr/bin/env python # -*- coding: utf-8 -*- import string, sys from threading import Thread import os import time class test_pipe(Thread): def __init__(self, fd): Thread.__init__(self) self.testfd = fd def run(self): print "started thread begin -" while True: buf = self.testfd.read() print "receive %s" % (buf) time.sleep(1) #print "hoho" if __name__ == "__main__": stdin_r, stdin_w = os.pipe() #stdout_r, stdout_w = pipe() f_w = os.fdopen(stdin_w, "w", 0) thrd = test_pipe(os.fdopen(stdin_r, "r", 0)) thrd.start() time.sleep(1) while True: f_w.write("help\r\n") time.sleep(1) thrd.join() well, I want the following small test about pipe() in thread(). OK, I write to the pipe in the main thread, and I created a new thread for reading from the pipe, then it will print what it received from the pipe(). But, it seems it block at the "self.testfd.read()". So, is there and suggestion and explaination about it? Thanks in advance. -- http://mail.python.org/mailman/listinfo/python-list
Re: Socket Question
Maybe you need to close the socket somewhere else, rather than to close it when you receive the your response. On Tue, Sep 30, 2008 at 7:01 AM, Ali Hamad <[EMAIL PROTECTED]> wrote: > Hello All : > > A socket question from a networking newbie. I need to create > a server that: > > 1) receive a message from client. > 2) check that message and response to it. > 3) the client get the server message and send another message. > 4) finally, the server receive the message and close the connection. > > I have successfully done this. However, I couldn't use the same socket > to send the second message > to the server. I have googled but all the examples are only for sending > one message and receiving the response. > > in my client code, I have : > > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.connect(('127.0.0.1', 1888)) > s.send("1st message") > response = s.recv(1024) > validate(response) > s.send("2nd message") > response2 = s.recv(1024) > s.close() > > However, I got the first response just fine from the server but the > second message didn't get to the server. > > So, the solution I came up with is to send the 1st message, close the > socket, create new socket, > and send the 2nd message. > > I came up with something like : > > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.connect(('127.0.0.1', 1888)) > s.send("1st message") > response = s.recv(1024) > s.close() > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.connect(('127.0.0.1', 1888)) > s.send("2nd message") > response = s.recv(1024) > s.close() > > and it works ! > > My Question : > > is it possible to send/receive from the same socket more than one message ? > > Thank you for your assistance in advance, > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list