网络编程- socket_server_登录demo

Posted mys6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程- socket_server_登录demo相关的知识,希望对你有一定的参考价值。

userinfo文件

alex|aee949757a2e698417463d47acac93df

 

 

server_login

import json
import hashlib
import socketserver
def md5_pwd(user,pwd):
md5_obj = hashlib.md5(user.encode(‘utf-8‘))
md5_obj.update(pwd.encode(‘utf-8‘))
ret = md5_obj.hexdigest()
return ret

def login(userinfo):
user_dic = json.loads(userinfo)
passwd = md5_pwd(user_dic[‘username‘], user_dic[‘passwd‘])
with open(‘userinfo‘) as f:
for line in f:
user, pwd = line.split(‘|‘)
if user_dic[‘username‘] == user and passwd == pwd:
print(‘登录成功‘)
break

class MyServer(socketserver.BaseRequestHandler):
def handle(self):
userinfo = self.request.recv(1024).decode(‘utf-8‘)
login(userinfo)

server = socketserver.ThreadingTCPServer(
(‘127.0.0.1‘,9000),
MyServer)
server.serve_forever()

 

client_login

import json
import socket
ADDR = (‘127.0.0.1‘,9000)
def get_socket():
sk = socket.socket()
sk.connect(ADDR)
return sk
# 输入账号
username = input(‘username >>>‘)
passwd = input(‘password >>>‘)
if username.strip() and passwd.strip():
sk = get_socket()
dic = {‘username‘:username,‘passwd‘:passwd}
str_dic = json.dumps(dic)
sk.send(str_dic.encode(‘utf-8‘))
sk.close()
# 连接socket

以上是关于网络编程- socket_server_登录demo的主要内容,如果未能解决你的问题,请参考以下文章

python socket编程之基本流程

ArcGIS利用DEM制作简单三维

如何从nasa中获取dem数据

linux如何设置启动命令服务:java -jar /huizhi/zgrb/bin/socket_server.jar

ArcGIS DEM数据创建随机点创建随机点工具IDW插值

python 并发socket