服务端

import socket
import json
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)
host=''
port=1234
s.bind((host,port))
s.listen(3)
while True:client,ipaddr=s.accept()print "Got a connect from %s" %str(ipaddr)data=client.recv(1024)metadata=json.loads(data)print "receive data:%s" %metadata[1]['name']client.send("echo:"+data)client.close()

客户端:

#! /usr/bin/env python
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)
host='localhost'
port=1234
s.connect((host,port))
#fileHandle = open('/root/test')
s.send('fileHandle')
data=s.recv(1024)
print "Reply from server----%s" %data

只要把客户端对应读取的文件 用json可是存数据  服务器端收到客户端发过来的数据

Python通过MySQL-Python把数据写进MySQL数据库

下载和安装

wget http://jaist.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar fvxz MySQL-python-1.2.3.tar.gz -C /usr/src/MySQL-python-1.2.3/
python setup.py build
python setup.py install

连接数据的代码:

,%s,%s,%s,%s¥

import MySQLdb
conn=MySQLdb.connect(host="localhost",user="root",passwd="123456",db="python",unix_socket="/tmp/mysql.sock")
cursor=conn.cursor()
sql = "insert into python values(%s,%s)"
param = (ip,status)
cursor.execute(sql,param)
conn.commit()
cursor.close()
conn.close()

把链接数据库的代码整合进服务器端的代码:

和服务器端写到一起
#!/usr/bin/env  python
import socket
import json
import MySQLdb
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)
host=''
port=1234
s.bind((host,port))
s.listen(3)
while True:client,ipaddr=s.accept()print "Got a connect from %s" %str(ipaddr)data=client.recv(1024)metadata=json.loads(data)ip = metadata[0]['ip']status = metadata[1]['status']conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="python",unix_socket="/tmp/mysql.sock")cursor=conn.cursor()sql = "insert into python values(%s,%s)"param = (ip,status)cursor.execute(sql,param)conn.commit()cursor.close()conn.close()#print "receive data:%s" %metadataclient.send("echo:"+data)client.close()

再添加一个故障处理,来处理从客户端接受的json格式数据key不符的问题,添加完的代码如下:

#!/usr/bin/env  python
import socket
import json
import MySQLdb
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)
host = ''
port = 1234
s.bind((host,port))
s.listen(3)
while True:client,ipaddr = s.accept()print "Got a connect from %s" %str(ipaddr)data=client.recv(1024)metadata=json.loads(data)try:ip = metadata[0]['ip']status = metadata[1]['status']conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="python",unix_socket="/tmp/mysql.sock")cursor=conn.cursor()sql = "insert into python values(%s,%s)"param = (ip,status)cursor.execute(sql,param)conn.commit()cursor.close()conn.close()client.send("echo:"+data)client.close()except:client.send("Data ERROR")client.close()

转载于:https://blog.51cto.com/songknight/1411105

python学习--服务期间通讯和mysql数据库操作相关推荐

  1. python学习笔记第十七天------------MySQL数据库

    文章目录 1. 数据库简介 1.1 RDBMS 1.2 SQL 1.3 MySQL 简介 2. 数据完整性 3. 数据库的指令 4. 数据表的指令 5. 增删改查(curd) 6. 数据库设计 7. ...

  2. Python学习日志----实现数据插入mysql数据库表

    通过读取文件数据获取数据,插入mysql,实现前请安装Pymysql包: 创建表SQL CREATE TABLE orders( order_date DATE, order_id VARCHAR(2 ...

  3. Python学习日记(三十四) Mysql数据库篇 二

    外键(Foreign Key) 如果今天有一张表上面有很多职务的信息 我们可以通过使用外键的方式去将两张表产生关联 这样的好处能够节省空间,比方说你今天的职务名称很长,在一张表中就要重复的去写这个职务 ...

  4. java计算机毕业设计紫陶文化传播与学习交流网站源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计紫陶文化传播与学习交流网站源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计紫陶文化传播与学习交流网站源码+mysql数据库+系统+lw文档+部署 本源码技术栈 ...

  5. java计算机毕业设计桂林餐饮服务平台源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计桂林餐饮服务平台源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计桂林餐饮服务平台源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  6. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  7. java计算机毕业设计心灵治愈服务平台源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计心灵治愈服务平台源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计心灵治愈服务平台源码+mysql数据库+lw文档+系统+调试部署 本源码技术栈: 项目架构 ...

  8. 计算机毕业设计Java移动学习网站(系统+源码+mysql数据库+Lw文档)

    计算机毕业设计Java移动学习网站(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java移动学习网站(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  9. 计算机毕业设计Java考生服务系统(源码+mysql数据库+系统+lw文档)

    计算机毕业设计Java考生服务系统(源码+mysql数据库+系统+lw文档) 计算机毕业设计Java考生服务系统(源码+mysql数据库+系统+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

最新文章

  1. 测一测你的blog魔症有多严重
  2. python 文件追加写入_Python写入文件–解释了打开,读取,追加和其他文件处理功能
  3. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度
  4. 删除或添加最大化、最小化按钮 - 回复 Tommy the CAT 的问题
  5. [导入]Silverlight 的 Data Bindings:Silverlight 與 ASP.NET Ajax
  6. 贪吃蛇小游戏(C语言)
  7. Kubernetes(K8s) 1.14.3常用操作命令
  8. php验证码点击刷新,php点击可刷新验证码
  9. Sniffer抓包教程
  10. 服务等级协议SLA到底是在说什么?
  11. Kubernetes监控:Dashbaord 2.0.0部署之证书创建和设定
  12. 网络分层架构 ARP baidu.com 访问过程 知识点总结
  13. 中国第一台103型电子计算机诞生于,第一台计算机诞生于几年?
  14. mac上免费的音频剪辑软件在哪里可以快速下载
  15. win7上安装microsoft edge浏览器, 模拟ie11模式
  16. 免费AI标注工具-音频查重工具
  17. js 格式化,过万转换成万(W),过亿转化成亿(M)
  18. html5一键导航代码,网页端利用百度地图接口,制作一键导航功能
  19. “耳根”发布新作《一念永恒》,交易记录
  20. 自制APP连接OneNET---实现数据监控和下发控制(HTTP)

热门文章

  1. HikariPool 连接池问题
  2. 北大网络教育计算机作业,北大网络教育(计算机专业)网络基础作业答案.doc
  3. php每分钟刷新一次的验证码,php如何在进入页面的时候自动刷新一次验证码
  4. 地铁框架保护的原理_地铁屏蔽门是如何保证通讯的稳定?
  5. spark编程基础--2.3面向对象编程基础
  6. c语言如何输出整串链表,大神帮我看一下怎么输入输出一个链表,我输入了但是没输出啊...
  7. Xcode可重用代码块code snippets
  8. iOS中KVO模式的解析与应用
  9. 明文存密码成惯例?Facebook 6 亿用户密码可被 2 万员工直接看
  10. 想转行学python过来人提醒大家几点