f1.py

# -*- coding: utf-8 -*-
import socket
import struct
import sqlalchemy
import pandas
########################################################################
class Socket:
#----------------------------------------------------------------------
def __init__(self, Host = '192.168.1.3', Port = 12345):
self.Host = Host
self.Port = Port
#----------------------------------------------------------------------
def Run_server(self):
Socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Socket.bind((self.Host, self.Port))
Socket.listen(5)
Engine = sqlalchemy.create_engine('mssql+pyodbc://sa:123456@XiTongDSN')
'''修改1'''
Dataframe = pandas.read_sql('sh', Engine)
Index = list(Dataframe['date'].index)
Close = Dataframe['close']
Volume = Dataframe['volume']
i = 0
while True:
Connection, Address = Socket.accept()
if Connection.recv(1024) == b'Link' and i < len(Close):
'''修改2'''
Connection.send(struct.pack('iff', Index[i], Close[i], Volume[i]))
i += 1
else:
Connection.close()
Socket.close()
#----------------------------------------------------------------------
def Run_client(self, Message = b'Link'):
Socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Socket.connect((self.Host, self.Port))
Socket.send(Message)
'''修改3'''
Index, Close, Volume = struct.unpack('iff', Socket.recv(1024)[:12])
Socket.close()
return Index, Close, Volume

f2.py

# -*- coding: utf-8 -*-
import sys
sys.path.append('C:\WinPython-32bit-3.5.1.3\myWorkSpace1')
import f1
F1 = f1.Socket()
F1.Run_server()

f3.py

# -*- coding: utf-8 -*-
import f1
F1 = f1.Socket()
import matplotlib.pylab as Plot
'''修改1'''
Sub1 = Plot.subplot(211)
Sub2 = Plot.subplot(212)
index = []
close = []
volume = []
while True:
Index, Close, Volume = F1.Run_client()
index.append(Index)
close.append(Close)
volume.append(Volume)
if Index > 10:
Sub1.plot(index[Index-10:Index-1:1], close[Index-10:Index-1:1])
Sub2.bar(index[Index-10:Index-1:1], volume[Index-10:Index-1:1])
Plot.pause(0.01)

自设变量,头文字大写!

补充:

  • 1.
import struct
import sqlalchemy
import pandas
Engine = sqlalchemy.create_engine('mssql+pyodbc://sa:123456@XiTongDSN')
Dataframe = pandas.read_sql('sh', Engine)
Data, = struct.unpack('10s', struct.pack('10s', Dataframe['date'][0].encode('utf-8')))
print(Data.decode('utf-8'))

  • 2.
import struct
import sqlalchemy
import pandas
Engine = sqlalchemy.create_engine('mssql+pyodbc://sa:123456@XiTongDSN')
Dataframe = pandas.read_sql('sh', Engine)
A = Dataframe[:1]
print(A, '\n')
B = struct.pack('f10s', A['open'][0], A['date'][0].encode('utf-8'))
print(B, '\n')
C, D = struct.unpack('f10s', B)
print(C, D.decode('utf-8'))

Python socket编程之五:更新分时图的更多相关文章

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

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

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

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

  3. python/socket编程之粘包

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

  4. PYTHON SOCKET编程简介

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

  5. python socket编程笔记

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

  6. [Python_7] Python Socket 编程

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

  7. Python Socket 编程示例 Echo Server

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

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

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

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

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

随机推荐

  1. 学习心得:《十个利用矩阵乘法解决的经典题目》from Matrix67

    本文来自:http://www.matrix67.com/blog/archives/tag/poj大牛的博文学习学习 节选如下部分:矩阵乘法的两个重要性质:一,矩阵乘法不满足交换律:二,矩阵乘法满足 ...

  2. U3D assetbundle打包

    using UnityEngine; using System.Collections; using UnityEditor; //此脚本不一定要放于editor目录下,经测试,放于其它地方也可以 p ...

  3. Java compiler level does not match the version of the installed Java project facet.(转)

    Java compiler level does not match解决方法 从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description  Resource P ...

  4. String类及常用方法

    在学习String类之前,先看一道笔试题:new String("abc")创建了几个对象? 答案: 两个对象, 一个对象是 位于字符串常量池中,一个对象是位于堆内存中. 原因:主 ...

  5. Activiti系列: 如何添加自定义表单引擎

    这个功能挺有意思的,有了它,就可以不适用html的方式来展示表单了,比如可以用swing对象了 class MyFormEngine implements FormEngine {     @over ...

  6. LeetCode 笔记28 Maximum Gap

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  7. 开发一个简单实用的android紧急求助软件

    之前女朋友一个人住,不怎么放心,想找一个紧急求助的软件,万一有什么突发情况,可以立即知道.用金山手机卫士的手机定位功能可以知道对方的位置状态,但不能主动发送求助信息,在网上了很多的APK,都是鸡肋功能 ...

  8. 不得不说的JavaScript异步加载

    同步加载的问题 默认的js是同步加载的,这里的“加载”可以理解成是解析.执行,而不是“下载”,在最新版本的浏览器中,浏览器对于代码请求的资源都是瀑布式的加载,而不是阻塞式的,但是js的执行总是阻塞的. ...

  9. HoloLens开发手记 - Unity之Keyboard input 键盘输入

    虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...

  10. .NET领域最为流行的IOC框架之一Autofac

    一.前言 Autofac是.NET领域最为流行的IOC框架之一,微软的Orchad开源程序使用的就是Autofac,Nopcommerce开源程序也是用的Autofac. Orchad和Nopcomm ...