您的位置:首页 > 编程语言 > Python开发

python socket聊天

2016-03-03 00:00 706 查看
摘要: 刚学习socket ,写个存入数据库的聊天,很简单,未完 。。。 回话功能没添加 ,数据库插入编码有问题

文件目录如下



#coding:utf-8

from utility.sql_helper import MySqlHelper

class Chat(object):
def __init__(self):
self.helper = MySqlHelper()

def insert(self,texts,times):
sql = 'insert into chat (text,time)values(%s,%s)'
params = (texts,times)
return self.helper.insert(sql,params)

def getall(self):
sql = 'select * from chat'
return self.helper.getall(sql)

------------------------------------------------------------------------------------------------
#coding:utf-8

import MySQLdb
import conf
class MySqlHelper(object):
def __init__(self):
self.conn_dict = conf.conn_dict

def insert(self,sql,params):
conn = MySQLdb.connect(**self.conn_dict)
cursor = conn.cursor(cursorclass =  MySQLdb.cursors.DictCursor)
cursor.execute(sql,params)
conn.commit()

cursor.close()
conn.close()

def getall(self,sql):
conn = MySQLdb.connect(**self.conn_dict)
cursor = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor.execute(sql)
res = cursor.fetchall()

cursor.close()
conn.close()
return res

---------------------------------------------------------------------------------------------

#coding:utf-8

import socket

client = socket.socket()
ip_port = ('127.0.0.1',9999)

client.connect(ip_port)
while True:
data = client.recv(1024)
print data
inp = raw_input('client:')
client.send(inp)
if inp =='exit':
break

------------------------------------------------------------------------------------------

#coding:utf-8

conn_dict = dict(host='localhost',user='root',passwd='',db='python')
----------------------------------------------------------------------------------------------
# coding:utf8
from model.chat import Chat
import SocketServer
import time

class  MyServer(SocketServer.BaseRequestHandler):

def setup(self):
pass

def ha
7fe0
ndle(self):
# print self.request,self.client_address,self.server
#self.request = socket
#
conn = self.request
conn.send('hello.')
flag = True
while flag:
data = conn.recv(1024)
print data
chat = Chat()
timeline = str(time.time())
chat.insert(data,timeline)
if data =='exit':
flag = False
conn.send('asd')
conn.close()

def finish(self):
pass

if __name__ == '__main__':
server = SocketServer.ThreadingTCPServer(('127.0.0.1',9999),MyServer)
server.serve_forever()
# chat = Chat()
# res = chat.getall()
# print res
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: