用python画分时图

时间: 2023-09-30 admin IT培训

用python画分时图

用python画分时图

建立 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 编程——聊天室示例程序

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

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

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

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

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

python&sol;socket编程之粘包

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

PYTHON SOCKET编程简介