zoukankan      html  css  js  c++  java
  • 服务端客户端连接以及登陆用户的增删改

    TCP传输控制协议   稳定,相对于UDP而言要慢一些,Web服务器都是使用TCP

    UDP用户数据包协议  不稳定

    TCP客户端与服务端的连接

    # client.py
    from socket import *
    clientSocket = socket(AF_INET,SOCK_STREAM)
    clientSocket.connect(("192.168.52.1",8897))
    
    while True:
        user = input("请输入用户名:")
        clientSocket.sendall(user.encode())
    
        passwd = input("请输入密码:")
        clientSocket.sendall(passwd.encode())
        serdata1 = clientSocket.recv(1024)
        print(str(serdata1, "utf8"))
        serdata2 = clientSocket.recv(1024)
        if (serdata2):
            while True:
                data = input("你可以进行以下操作:1.增加用户2.删除用户3.修改用户>>>")
                clientSocket.sendall(data.encode())
                if data == '1':
                    newuser = input ("请输入要创建的用户名:")
                    newpasswd = input("请输入创建用户的密码:")
                    newstr = newuser + ' ' + newpasswd
                    clientSocket.sendall(newstr.encode())
                    serdata3 = clientSocket.recv(1024)
                    print(str(serdata3, "utf8"))
                elif data == '2':
                    deluser = input("请输入要删除的用户名:")
                    clientSocket.sendall(deluser.encode())
                    serdata4 = clientSocket.recv(1024)
                    print(str(serdata4, "utf8"))
                elif data == '3':
                    reuser = input("请输入要修改的用户名:")
                    clientSocket.sendall(reuser.encode())
                    repasswd = input("请输入修改后的密码:")
                    clientSocket.sendall(repasswd.encode())
                    serdata5 = clientSocket.recv(1024)
                    print(str(serdata5, "utf8"))
    
            else:
                break
    clientSocket.close()








    # server.py
    from socket import *
    ip_port=("",8897)

    serSocket = socket(AF_INET,SOCK_STREAM)
    serSocket.bind(ip_port)

    serSocket.listen(5)
    num = open('data.txt','a+',encoding = 'utf-8')
    num.seek(0)
    fileWords = num.read().split()
    while True:
    newSocket,address = serSocket.accept()
    while True:
    recvData1 = newSocket.recv(1024).decode()
    if fileWords[0] == recvData1:
    recvData2 = newSocket.recv(1024).decode()
    if fileWords[1] == recvData2:
    server_response = ("登陆成功 ")
    newSocket.sendall(bytes(server_response, "utf8"))
    i = 1
    else:
    server_response = ("密码错误")
    newSocket.sendall(bytes(server_response, "utf8"))
    i = 0
    else:
    recvData2 = newSocket.recv(1024).decode()
    server_response = ("用户名错误")
    newSocket.sendall(bytes(server_response, "utf8"))
    i =0
    if(i):
    serve = ("True")
    newSocket.sendall(bytes(serve, "utf8"))
    Data = newSocket.recv(1024).decode()
    if Data == '1':
    newline = newSocket.recv(1024).decode()
    num.write(' ' + newline)
    num.close()
    print(str(num))
    resop = ("创建成功")
    newSocket.sendall(bytes(resop,"utf8"))
    elif Data == '2':
    deluser = newSocket.recv(1024).decode()
    a = (fileWords.index(deluser))
    del fileWords[a]
    del fileWords[a]
    print(fileWords)
    file = open('data.txt', 'w')
    for i in fileWords:
    file.write(i)
    file.write(" ")
    file.close()
    resop = ("删除成功")
    newSocket.sendall(bytes(resop, "utf8"))
    elif Data == '3':
    reviseuser = newSocket.recv(1024).decode()
    a = (fileWords.index(reviseuser))
    repasswd = newSocket.recv(1024).decode()
    fileWords[a+1] = repasswd
    print(fileWords)
    file = open('data.txt', 'w')
    for i in fileWords:
    file.write(i)
    file.write(" ")
    file.close()
    resop = ("修改成功")
    newSocket.sendall(bytes(resop, "utf8"))

    newSocket.close()
    serSocket.close()
  • 相关阅读:
    ORA00845 MEMORY_TARGET not supported on this system (oracle11g for asianux3 )
    文件处理命令
    网络通信
    Chapter05Usage and Configuration of the Oracle Shared Server
    压缩解压缩命令
    PAT 1088 Rational Arithmetic[模拟分数的加减乘除][难]
    知识点最小二乘学习与正规表达式
    Missing Number[回溯][难]
    PAT 1065 A+B and C[大数运算][溢出]
    PAT 1055 The World's Richest[排序][如何不超时]
  • 原文地址:https://www.cnblogs.com/levelstrcpy/p/8870796.html
Copyright © 2011-2022 走看看