服務端客戶端連接以及登陸用戶的增刪改
阿新 • • 發佈:2018-04-18
傳輸控制協議 修改 span lis use 用戶數據 rev add 用戶數
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 = ("登陸成功\n")
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(‘\n‘ + 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()
服務端客戶端連接以及登陸用戶的增刪改