客户端

#clnt.py
import socket
import json
import MySQLdb
import datetime,time


# encoding: utf-8
#打开数据库
db = MySQLdb.connect(host='127.0.0.1',user='root', passwd='a15737321920',db ='userInfor')
# 使用cursor()方法获取操作游标 
cursor = db.cursor()

def helpF():
    print(
        '#支持命令行输入: \n\
#   login [name] [passwd] \n\
#   logout  \n\
#   say [words]\n\
#   exit/quit')


def loginF(cmd):
    username=cmd[1]
    userpasswd=cmd[2]

    loginInfoDict={
        'MsgType':'login',
        'MsgVaule':{
            'UserName':username,
            'UserPasswd':userpasswd

        }
    }

    sendmsg = json.dumps(loginInfoDict)
    s.send(sendmsg.encode())
    recvmsg = s.recv(1024)
    recvmsgd = recvmsg.decode()
    loginResultDict = json.loads(recvmsgd)
    print(loginResultDict)

def logoutF(cmd):
    username=cmd[1]
    userpasswd=cmd[2]

    logoutInfoDict={
        'MsgType':'logout',
        'MsgVaule':{
            'UserName':username,
            'UserPasswd':userpasswd

        }
    }

    sendmsg = json.dumps(logoutInfoDict)
    s.send(sendmsg.encode())
    recvmsg = s.recv(1024)
    recvmsgd = recvmsg.decode()
    logoutResultDict = json.loads(recvmsgd)
    print(logoutResultDict)


def registerF(cmd):

    username=cmd[1]
    userpasswd = cmd[2]
    usersex = cmd[3] 
    registerInfoDict={
        "MsgType" :"register",
        "MsgVaule": {
            "UserName":username,
            "UserPasswd":userpasswd,
            "Sex":usersex
        }
    }

    sendmsg = json.dumps(registerInfoDict)    
    s.send(sendmsg.encode())
    recvmsg = s.recv(1024)
    recvmsgd = recvmsg.decode()
    registerResultDict = json.loads(recvmsgd)
    print(registerResultDict)

def unregisterF(cmd):

    username = cmd[1]
    userpasswd = cmd[2]
    unregisterinfodict = {
        "MsgType" :"unregister",
        "MsgVaule": {
            "UserName":username,
            "UserPasswd":userpasswd
        }
    }

    sendmsg = json.dumps(unregisterinfodict)    
    s.send(sendmsg.encode())
    recvmsg = s.recv(1024)
    recvmsgd = recvmsg.decode()
    unregisterResultDict = json.loads(recvmsgd)
    print(unregisterResultDict)
def sayF(cmd):
    cmdvalue = cmd[1]
    sayJson = {
        'MsgType':'say',
        'MsgVaule':cmdvalue
    }
    msg = json.dumps(sayJson)  
    s.send(msg.encode())
    recvmsmg = s.recv(1024)  
    recvmsmgd = recvmsmg.decode()
    sayResultDict = json.loads(recvmsmgd) 
    print(sayResultDict)      

#创建socket对象,连接到服务器地址。
s = socket.socket()
s.connect(('127.0.0.1',7077))

#支持命令行输入:
#   login [name] [passwd]
#   logout
#   say [words]
#   exit/quit
#   help
#   register [name] [passwd]
#   unregister [name] [passwd]

while True:
    cmdline = input("> ")
    if cmdline == "" :
        continue
    msg = ''
    cmd = cmdline.split(' ')
    cmdkey = cmd[0]

    if cmdkey.lower()=='quit' or cmdkey.lower()=='exit':
        print('Bye!')
        break

    elif cmdkey.lower()=='logout':
        if len(cmd) < 3:
            print('logout need three args')
            continue
        logoutF(cmd)
    elif cmdkey.lower()=='say':
        print('say')
        if len(cmd) < 2:
            print('say needs one args')
            continue
        sayF(cmd)

    elif cmdkey.lower()=='help':
        helpF()
        continue
    elif cmdkey.lower()=='login':
        if len(cmd) < 3:
            print('login need three args')
            continue
        loginF(cmd)

    elif cmdkey.lower()=='register':

        if len(cmd) < 4:
            print('register needs four args')
            continue
        registerF(cmd)

    elif cmdkey.lower()=='unregister':
        print('unregister')
        if len(cmd) < 3:
            print('unregister needs three args')
            continue
        unregisterF(cmd)


# 关闭数据库连接
db.close()  
s.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值