def run(self):
     #login
     logined = False
     while self.cli_sock:
         if not logined:
             msg = self.get_login_msg()
             logined = True
             cppsutil.write_sock_buf(self.cli_sock, msg);
         gevent.sleep(10)
Exemple #2
0
 def run(self):
     #login
     logined = False
     while self.cli_sock:
         if not logined:
             msg = self.get_login_msg()
             logined = True
         else:
             msg = self.get_msg()
         print("send:", msg)
         cppsutil.write_sock_buf(self.cli_sock, msg)
         self.rid = self.rid + 1
         gevent.sleep(1)
Exemple #3
0
 def run(self):
     #login
     logined = False
     while self.cli_sock:
         if not logined:
             msg = self.get_login_msg()
             logined = True
         else:
             msg = self.get_msg()
         print("send:", msg)
         cppsutil.write_sock_buf(self.cli_sock, msg);
         self.rid = self.rid + 1
         gevent.sleep(1)
Exemple #4
0
    def ser_to_cli(self, client_sock, uid, message):
        """写数据"""
        result = (True, "")
        logging.info("write response message `%s` to %s" % (message, client_sock))
        try:
            result = cppsutil.write_sock_buf(client_sock, message)
            if not result[0]:
                logging.error("write response message to `%s` failure `%s`", client_sock, result)
                self.dis_connect(client_sock)
        except:
            result = (False, traceback.format_exc())
            logging.error("an error occurred", exc_info=True)
            self.dis_connect(client_sock)

        return result
Exemple #5
0
    def response_to_cli(self, cli_sock, uid, msg):
        result = (True, "")
        if isinstance(msg, dict):
            msg = json.dumps(msg)

        lock = self.get_lock(uid)
        lock.acquire()
        try:
            result = cppsutil.write_sock_buf(cli_sock, msg)
        except:
            result = (False, traceback.format_exc())
            logging.error("an error occurred", exc_info=True)
        finally:
            lock.release()

        return result
Exemple #6
0
 def run(self):
     while True:
         try:
             task = self.msg_queue.get()
             if task:
                 if self.connect():
                     logging.info("process php task `%s`", task)
                     result = cppsutil.write_sock_buf(self.php_sock, task)
                     if not result[0]:
                         logging.error("write buf `%s` to php server failure `%s`", task, result)
                     gevent.sleep(0)
                 else:
                     self.msg_queue.put_nowait(task)
                     logging.error("can't connect php server task `%s` put to queue", task)
                     gevent.sleep(10)
             else:
                 logging.error("empty task item from queue")
         except:
             logging.error("task server error `%s`", traceback.format_exc())
Exemple #7
0
 def run(self):
     while True:
         try:
             task = self.msg_queue.get()
             if task:
                 if self.connect():
                     logging.info("process php task `%s`", task)
                     result = cppsutil.write_sock_buf(self.php_sock, task)
                     if not result[0]:
                         logging.error(
                             "write buf `%s` to php server failure `%s`",
                             task, result)
                     gevent.sleep(0)
                 else:
                     self.msg_queue.put_nowait(task)
                     logging.error(
                         "can't connect php server task `%s` put to queue",
                         task)
                     gevent.sleep(10)
             else:
                 logging.error("empty task item from queue")
         except:
             logging.error("task server error `%s`", traceback.format_exc())
#-*-coding:utf-8-*-

from gevent import monkey;monkey.patch_all()
from gevent.socket import create_connection
import sys
sys.path.append("..")
import cppsutil
import logging

logging.basicConfig(
    level   = logging.DEBUG,
    datefmt = "%Y-%m-%d %H:%M:%S",
    format  = "[%(asctime)s]%(levelname)8s-%(filename)15s-%(funcName)30s-%(lineno)5s:%(message)s"
)

php_sock  = create_connection(('127.0.0.1', 9090))
req_msg = {
    'cli' : 1,
    'msg' : 'hello world'
}
print cppsutil.write_sock_buf(php_sock, req_msg)

print cppsutil.read_sock_buf(php_sock)
Exemple #9
0
 def run(self):
     while self.cli_sock:
         msg = self.get_msg()
         result = cppsutil.write_sock_buf(self.cli_sock, msg)
         print result
         gevent.sleep(10)
Exemple #10
0
 def run(self):
     while self.cli_sock:
         msg = self.get_msg()
         result = cppsutil.write_sock_buf(self.cli_sock, msg)
         print result
         gevent.sleep(10)