Python socket编程之七:多窗口的应用
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)
I = list(Dataframe['date'].index)
O = Dataframe['open']
H = Dataframe['high']
L = Dataframe['low']
C = Dataframe['close']
V = Dataframe['volume']
i = 0
while True:
Connection, Address = Socket.accept()
if Connection.recv(1024) == b'Link' and i < len(I):
'''修改2'''
Connection.send(struct.pack('i5f', I[i], O[i], H[i], L[i], C[i], V[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'''
I, O, H, L, C, V = struct.unpack('i5f', Socket.recv(1024)[:24])
Socket.close()
return I, O, H, L, C, V
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
from matplotlib.finance import candlestick_ohlc as Drawk
'''修改1'''
Figure = Plot.figure('Made by DengChaohai')
f1 = Figure.add_subplot(3, 4, (1, 7), title = 'Index', xlim = [0, 100])
Plot.grid(True)
f2 = Figure.add_subplot(1, 4, 4, title = 'Trading price', ylim = [-6, 6])
Plot.grid(True)
f3 = Figure.add_subplot(3, 4, (9, 11), title = 'Volume', xlim = [0, 100])
Plot.grid(True)
Quotes = []
TRUE = True
while TRUE:
I, O, H, L, C, V = F1.Run_client()
Quotes.append((I, O, H, L, C, V))
Drawk(f1, Quotes, width = 0.5, colorup = 'g', colordown = 'r')
f2.axhline(y = 0)
f3.bar(I, V, width = 0.5, color = 'c', edgecolor = 'c')
Plot.pause(0.1)
if I > 100:
TRUE = False
F1.Run_client(b'disconnect')

Python socket编程之七:多窗口的应用的更多相关文章
- Python Socket 编程——聊天室示例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...
- python/socket编程之粘包
python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...
- PYTHON SOCKET编程简介
原文地址: PYTHON SOCKET编程详细介绍 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...
- python socket编程笔记
用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台) 人生苦短之我用Python篇(socket编程) python之路 sock ...
- [Python_7] Python Socket 编程
0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*- "&q ...
- Python Socket 编程示例 Echo Server
简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...
- Python Socket 编程——聊天室演示样例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...
- python socket编程入门(编写server实例)+send 与sendall的区别与使用方法
python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参 ...
- 第九章:Python高级编程-Python socket编程
第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...
随机推荐
- [Bug]redis问题解决(MISCONF Redis is configured to save RDB snapshots)
redis问题解决(MISCONF Redis is configured to save RDB snapshots) (error) MISCONF Redis is configured t ...
- 使用dynamic获取类型可变的json对象
标题可能有点含糊不清 我这个例子的来源是,对方会返回给我json,不过成功的json与失败的json是不同的对象 我想用一个方法获取到这个对象的所有属性并打印到log中 因为是动态变化的,所以第一个想 ...
- Download the WDK, WinDbg, and associated tools
Download the WDK, WinDbg, and associated tools This is where you get your Windows Driver Kit (WDK) a ...
- U3D 动态创建Prefab的多个实例
情景:我们有一个mytest脚本,一个my_prefab预置体 想在在这个脚本的start()方法中复制多个my_prefab的实例.有3种方法: 1,将预置体my_prefab放于Resouce文件 ...
- 从0开始学Java——JSP&Servlet——Tomcat和Apache的区别
从<JSP & Servlet 学习笔记>的第一章,了解到web容器:“Web容器是Servlet/jsp唯一认得的http服务器”. 在Java中,容器的类型有多种,这里要说的是 ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- 如何下载Spring
一. 各个spring版本的下载地址: http://repo.spring.io/release/org/springframework/spring 二. Spring官网: http://spr ...
- 你会swap吗,按值传递还是按引用?
问题 1.Java到底是按值传递(Call by Value),还是按引用传递(Call by Reference)? 2.如下面的代码,为什么不能进行交换? public CallBy swap2( ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
- Android Studio快速添加Gson以及GsonFormat的使用
目录: 一.Android Studio快速添加Gson 二.Android Studio中GsonFormat的使用 三.在线JSON校验格式化工具 一.Android Studio快速添加Gson ...