zoukankan      html  css  js  c++  java
  • FTP登录 下载上传文件(太过简单暂时未写)

    #server :

    import socketserver
    import struct
    import json
    import os
    class Myserver(socketserver.BaseRequestHandler):
    def handle(self):
    conn = self.request
    while True:
    try:
    msg = conn.recv(4)
    length = struct.unpack('i', msg)
    key = conn.recv(length[0])
    li = json.loads(key.decode('utf-8'))
    print(li)
    ret = False
    if li[0] == 'zlz' and li[1] == '666':
    result = '登录成功'
    length = struct.pack('i', len(result.encode('utf-8')))
    conn.send(length)
    conn.send(result.encode('utf-8'))
    ret = True
    else:
    result = '登录失败'
    length = struct.pack('i', len(result.encode('utf-8')))
    conn.send(length)
    conn.send(result.encode('utf-8'))
    except ConnectionResetError:
    break
    server = socketserver.ThreadingTCPServer(('127.0.0.1',9002),Myserver)
    server.serve_forever()

    #client
    import socket
    sk=socket.socket()
    import struct
    sk.connect(('127.0.0.1',9002))
    import sys
    import json

    class User:
    def __init__(self,account,pwd):
    self.acconut = account
    self.pwd = pwd
    self.info = [self.acconut, self.pwd]
    key = json.dumps(self.info).encode('utf-8')
    length = len(key)
    l=struct.pack('i', length)
    sk.send(l)
    sk.send(key)
    while True:
    account=input('输入账号')
    pwd=input('输入密码')
    a=User(account,pwd)
    msg=sk.recv(4)
    length=struct.unpack('i',msg)[0]
    msg=sk.recv(length)
    print(msg.decode('utf-8'))
  • 相关阅读:
    bug、兼容性、适配问题
    关于daterangepicker取消默认值的设置
    重构-改善既有代码设计
    iphoneX 适配
    汇编语言(2)程序表示
    汇编语言(1)基础理论
    css 边框颜色渐变的半圆
    横向时间轴(进度条)
    pdf中内嵌字体问题
    jabRef里引用的相邻同名作者变横线
  • 原文地址:https://www.cnblogs.com/diracy/p/13589118.html
Copyright © 2011-2022 走看看