会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
saiya6
博客园
首页
新随笔
联系
管理
2022年12月4日
使用socketserver实现文件下载
摘要: 服务端server.py import os import json import struct import socketserver class MyServer(socketserver.BaseRequestHandler): # 重写handle消息的方法 def handle(self)
阅读全文
posted @ 2022-12-04 12:49 saiya6
阅读(73)
评论(0)
推荐(0)
2022年12月3日
验证客户端的合法性
摘要: 服务端server.py import os import socket import hashlib def get_md5(key, seq): md5_obj = hashlib.md5(key) md5_obj.update(seq) res = md5_obj.hexdigest() re
阅读全文
posted @ 2022-12-03 22:34 saiya6
阅读(98)
评论(0)
推荐(0)
TCP协议中的粘包问题及解决方案
摘要: 在TCP协议通信中,如果多条消息的发送间隔较短,会合在一起发送,导致消息发送端发送消息太快,接收端来不及接收消息时,就会产生粘包现象 粘包问题 示例:server.py tcp_server = socket.socket() tcp_server.bind(("127.0.0.1", 5060))
阅读全文
posted @ 2022-12-03 21:57 saiya6
阅读(123)
评论(0)
推荐(0)
2022年11月30日
tkinter简单示例
摘要: # coding:utf-8 import tkinter as tk from random import random from tkinter import messagebox root = tk.Tk() root.geometry('500x300+1000+500') root.tit
阅读全文
posted @ 2022-11-30 22:11 saiya6
阅读(87)
评论(0)
推荐(0)
实现一个以websocket协议进行通信的服务端
摘要: # encoding = utf-8 import socket import base64 import hashlib # 获取请求头 def get_headers(data): header_dict = dict() str_data = str(data, encoding='utf-8
阅读全文
posted @ 2022-11-30 22:09 saiya6
阅读(59)
评论(0)
推荐(0)
2022年11月29日
使用socket实现http服务端
摘要: # encoding = utf-8 import re import socket # 接收消息的方法 def recv_msg(tcp_socket, recv_data): requests = recv_data.splitlines() print(requests) file_name
阅读全文
posted @ 2022-11-29 21:16 saiya6
阅读(142)
评论(0)
推荐(0)
Socket套接字实现TCP协议客户端
摘要: # 导包 import socket import threading # 发消息的函数 def send_msg(tcp_socket): while True: send_data = input("send: ") if send_data == "exit": break tcp_socke
阅读全文
posted @ 2022-11-29 20:55 saiya6
阅读(30)
评论(0)
推荐(0)
2022年11月28日
使用RSA公钥和私钥实现数据加密通信
摘要: import base64 from Crypto import Random from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 def get_cipher(key_length): # 生成伪随机数 r_g
阅读全文
posted @ 2022-11-28 21:11 saiya6
阅读(180)
评论(0)
推荐(0)
使用epoll实现单进程、单线程非阻塞Tcp服务端
摘要: import re import socket import select def recv_msg(tcp_socket, recv_data): requests = recv_data.splitlines() print(requests) file_name = "" ret = re.m
阅读全文
posted @ 2022-11-28 21:08 saiya6
阅读(46)
评论(0)
推荐(0)
2022年11月27日
自动化测试之图片验证码识别
摘要: import ddddocr from selenium import webdriver # 打开网页 driver = webdriver.Chrome() driver.implicitly_wait(5) # 获取验证码元素 pic_ele = driver.find_element('xp
阅读全文
posted @ 2022-11-27 15:08 saiya6
阅读(96)
评论(0)
推荐(0)
公告