def __init__(self,host='172.16.20.50',user='******',passwd='IceFlow2012',db='Telephone'): self.host = host self.user = user self.passwd = passwd self.db = db self.sql_object = MySQLdb.connect(host,user,passwd,db) self.cur_object = self.sql_object.cursor() hash.init_hashtable(db,user,passwd)
def __init__(self, host='172.16.20.50', user='******', passwd='IceFlow2012', db='Telephone'): self.host = host self.user = user self.passwd = passwd self.db = db self.sql_object = MySQLdb.connect(host, user, passwd, db) self.cur_object = self.sql_object.cursor() hash.init_hashtable(db, user, passwd)
if check != None: check_rel = check.split('\\') tem = [] for val in check_rel: tem.append(struct.pack('32s',val))#把每个返回结果都打包成32个字节 send_val = ''.join(tem)#把列表整合成字符串 backmsg[fileno] = struct.pack('ii224s',232,11,send_val) epoll.modify(fileno, select.EPOLLOUT | select.EPOLLET) else: backmsg[fileno] = struct.pack('ii224s',8,11,'\0') epoll.modify(fileno, select.EPOLLOUT | select.EPOLLET) elif recv_pack[1]==9: hash.update_hashtable('Telephone', 'root', 'IceFlow2012') epoll.unregister(fileno) hash.init_hashtable('Telephone','root','IceFlow2012') try: connections = {};addresses = {};datalist = {};backmsg = {} while True: events = epoll.poll(1)#查询epoll对象 是否有事件被触发 参数表示1秒 等待一秒看是否有事件发生 for fileno,event in events: if fileno == serversocket.fileno(): try: #while True: connection,address = serversocket.accept() print "accept connection from %s, %d, fd = %d" % (address[0], address[1], connection.fileno()) connection.setblocking(0) epoll.register(connection.fileno(),select.EPOLLIN|select.EPOLLET) connections[connection.fileno()] = connection addresses[connection.fileno()] = address datalist[connection.fileno()] = ''
import select import socket import errno import hash import struct serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('172.16.16.10', 8000)) serversocket.listen(1) serversocket.setblocking(0) epoll = select.epoll() epoll.register(serversocket.fileno(), select.EPOLLIN | select.EPOLLET) hash.init_hashtable('Telephone', 'root', 'IceFlow2012') try: connections = {} addresses = {} datalist = {} backmsg = {} while True: events = epoll.poll(1) #查询epoll对象 是否有事件被触发 参数表示1秒 等待一秒看是否有事件发生 for fileno, event in events: if fileno == serversocket.fileno(): try: while True: connection, address = serversocket.accept() print "accept connection from %s, %d, fd = %d" % ( address[0], address[1], connection.fileno()) connection.setblocking(0)