建立 socket,先运行服务器,再运行客户端,建立连接后服务器从本地数据库调数据一截一截地发送给客户端,客户端接受数据绘图模拟分时图

  • 1.socket
# -*- coding: utf-8 -*-
"""socket 模块"""
import socket
import struct
import sqlalchemy
import pandas
########################################################################
class sckt:
#----------------------------------------------------------------------
def __init__(self, host = '192.168.1.3', port = 12345):
self.host = host
self.port = port
#----------------------------------------------------------------------
def run_server(self):
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sckt.bind((self.host, self.port))
sckt.listen(5)
"""连接库"""
engine = sqlalchemy.create_engine('mssql+pyodbc://sa:123456@XiTongDSN')
"""取开盘价"""
Open = (pandas.read_sql('sh', engine))['open']
i = 0
while True:
connection, address = sckt.accept()
if connection.recv(1024) == b'Link' and i < (len(Open) - 1):
"""数据打包"""
connection.send(struct.pack('f', Open[i]))
i += 1
else:
connection.send(b'Cut off the connection!')
connection.close()
#----------------------------------------------------------------------
def run_client(self, message = b'Link'):
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sckt.connect((self.host, self.port))
sckt.send(message)
"""数据解包,注意 unpack 要求四字节,其用法为后接 [:4]"""
Open = struct.unpack('f', sckt.recv(1024)[:4])
sckt.close()
"""返回开盘价,去格式的用法后接 [0]"""
return Open[0]
  • 2.server
# -*- coding: utf-8 -*-
"""服务器端单独一个文件"""
import sys
sys.path.append('C:\WinPython-32bit-3.5.1.3\myWorkSpace1')
import f1
F1 = f1.sckt()
F1.run_server()
  • 3.client
# -*- coding: utf-8 -*-
"""客户端单独一个文件"""
import f1
F1 = f1.sckt()
import matplotlib.pylab as plt
opn = []
for i in range(0, 1000):
opn.append(F1.run_client())
plt.plot(opn)
plt.grid(True, axis = 'both')
"""必须有 pause,不然会卡住"""
plt.pause(0.1) """先运行服务器,在运行客户端"""
  • 4.runtimeplot

Python socket编程之四:模拟分时图的更多相关文章

  1. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  2. Python Socket 编程——聊天室演示样例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...

  3. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  4. python/socket编程之粘包

    python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...

  5. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍   Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...

  6. python socket编程笔记

    用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台) 人生苦短之我用Python篇(socket编程) python之路 sock ...

  7. [Python_7] Python Socket 编程

    0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*- "&q ...

  8. Python Socket 编程示例 Echo Server

    简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...

  9. python socket编程入门(编写server实例)+send 与sendall的区别与使用方法

    python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参 ...

随机推荐

  1. WPF数据绑定Binding(二)

    WPF数据绑定Binding(二) 1.UI控件直接的数据绑定 UI对象间的绑定,也是最基本的形式,通常是将源对象Source的某个属性值绑定 (拷贝) 到目标对象Destination的某个属性上. ...

  2. Windows Phone:自定义字体在xaml和代码中使用

    最近,我的小应用<认字>更新了一个能发声的版本,朋友对Speech做读音没有兴趣,反而对其中使用的楷体文字表示了兴趣,也许Speech的文章比较多,这次我对这个自定义字体在xaml和代码中 ...

  3. Android 动画之AlphaAnimation应用详解

    窗口的动画效果,淡入淡出什么的,有些游戏的欢迎动画,logo的淡入淡出效果就使用AlphaAnimation.AlphaAnimation(0.01f, 1.0f); 从0.01f到1.0f渐变.学过 ...

  4. 让PowerShell用上Git

    废话 废话一下为什么要在PowerShell上使用Git,有一些项目在公司要开发,回到家了忽然有灵感想要写一写,这个时候将代码托管到网上是最为方便,我所使用的开发工具是vs2013,自然而然想到使用T ...

  5. 连贯接口(fluent interface)的Java实现及应用。

    几年前在单元测试时使用mockito和junit(使用hamcrest提供的比较方法)的时候,就用到过这样类似的语法: mockito: when(mock.someMethod("some ...

  6. Python积木之with

    简而言之,with 语句是典型的程序块 “try catch finally”的一种模式抽取.python的作者在PEP343中写道 “ This PEP adds a new statement & ...

  7. JQuery上传文件插件Uploadify使用笔记

    新工作的第一份任务就是给实现 限制Uploadify 上传文件格式为图片 测试出来报错,选择了非图片文件,提示错误后,再选择其他文件,上传时还是包含了之前清空的非图片文件 最后实现效果的代码是 //上 ...

  8. 开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

    当我们写完一个比较复杂的Topology之后,倘若直接提交到服务器上运行,难免会有很多问题,如何进行本地的调试Topology,是我们非常关心的问题.我们依然以WordCount作为代码示例. 首先, ...

  9. ajax请求模拟登录

    前台 @if (Session["username"] != null) { <div class="login"> <span style= ...

  10. [AaronYang]C#人爱学不学[4]

    本文章不适合入门,只适合有一定基础的人看.我更相信知识细节见高低,我是从4.0开始学的,终于有时间系统的学习C#5.0,是5.0中的知识,会特殊标记下.但写的内容也可能含有其他版本framework的 ...