本文整理汇总了Python中User.getUserNameList方法的典型用法代码示例。如果您正苦于以下问题:Python User.getUserNameList方法的具体用法?Python User.getUserNameList怎么用?Python User.getUserNameList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类User
的用法示例。
在下文中一共展示了User.getUserNameList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: serverforever
# 需要导入模块: import User [as 别名]
# 或者: from User import getUserNameList [as 别名]
def serverforever():
"""
功能:
1.处理用户的登录验证以及新用户的注册
2.对已经登录的用户开启服务
变量:
user --- 一个dict,key为登录验证成功的用户名,value为该用户名对应的socket连接
"""
host, port = getAddr()
global user
user = {}
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(10)
while 1:
con, addr = s.accept()
"""
Login messages.
"""
login = con.recv(1024).decode("utf-8") # (name,pwd,register)
info = eval(login)
if len(info) == 2:
# 用户登录
userId = User.getUserId(info)
if userId != -1:
user[info[0]] = con # 保存{'name':con}
# 将用户的好友列表发送过去
con.send(User.getUserNameList(info[0]).encode("utf-8"))
print("用户 " + info[0] + " 上线!")
threading.Thread(target=recv, args=(con, info[0])).start() # 开始监听一个con连接
else:
print("用户 " + info[0] + " 试图上线,但是并不合法!")
con.send(str([]).encode("utf-8"))
con.close()
elif len(info) == 3:
# 用户注册
res = register.create(info[0], info[1])
con.send(str(res).encode("utf-8"))
if res == 1:
print("用户 " + info[0] + " 注册成功!")
elif res == 0:
print("用户 " + info[0] + " 注册失败!")
elif res == -1:
print("用户 " + info[0] + " 试图注册,但是其已经存在!")
示例2: recv
# 需要导入模块: import User [as 别名]
# 或者: from User import getUserNameList [as 别名]
def recv(con, name):
"""
功能: 接收用户发来的数据,并对其进行相应的处理
说明:
info 为用户发送过来的字符串处理后生成的tuple,第一个参数name是用户名,第二个参数是一个dict对象,不同键值对应不同操作
info 的第二个参数中key-value对中对应关系为
'mess'-- 用户向好友发送消息,value为一个tuple,它的第一个参数为消息内容,第二个参数为信息的目的好友的name
'add' -- 添加一个好友的请求,value为待添加好友的name
'del' -- 删除一个好友的请求,value为待删除好友的name
'find' -- 搜索用户,value为一个用户名的模糊信息
"""
global user
try:
while 1:
info = eval(
con.recv(1024).decode("utf-8")
) # (name,{'mess':(message,user),'add':'user','del':'user','find':'user'})
try:
if "mess" in info[1] and info[1]["mess"][1] in user:
toUser = info[1]["mess"][1]
user[toUser].send(str((name, info[1]["mess"][0])).encode("utf-8"))
elif "find" in info[1]: # 搜索好友
res = str({"ulist": User.findUsers(info[1]["find"])})
con.send(res.encode("utf-8"))
elif "add" in info[1]:
User.addUser(name, info[1]["add"])
con.send(str({"newUs": User.getUserNameList(name)}).encode("utf-8"))
elif "del" in info[1]:
res = User.delFriend(name, info[1]["del"])
con.send(str({"del": res}).encode("utf-8"))
except:
print("解析异常!")
except:
print("用户 " + name + " 下线 !")
con.close()
user.pop(name) # 弹出name