91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: Python
  • 標簽: python??socket??

資源簡介

利用socket套接字函數來實現一個聊天系統: 1.新用戶注冊 2.用戶登錄和退出 3.聊天服務 4.在線用戶查詢 5.文件傳輸服務

資源截圖

代碼片段和文件信息

import?socket
import?argparse
import?re
import?time
import?os
import?sys
import?threading
import?getpass
import?hashlib

User?=?None

def?get_md5_value(s):

????my_md5?=?hashlib.md5()
????my_md5.update(s.encode(‘utf-8‘))
????md5_value?=?my_md5.hexdigest()

????return?md5_value

def?register(sock):
????while?True:
????????while?True:
????????????UserName?=?input?(‘Please?input?your?username(4-16?numbers?or?letters):\n‘)
????????????if?len(UserName)?????????????????print(‘Your?name?is?too?short!‘)
????????????????continue
????????????elif?len(UserName)?>?16:
????????????????print(‘Your?name?is?too?long!‘)
????????????????continue
????????????elif?re.match(r‘[a-zA-Z0-9]{416}$‘UserName)?==?None:
????????????????print(‘Username?is?illegal!‘)
????????????????continue
????????????else:
????????????????break
????????while?True:
????????????PassWord?=?input?(‘Please?input?your?password(8-24?numbers?or?letters)\n‘)
????????????if?len(PassWord)?????????????????print(‘Your?password?is?too?short!‘)
????????????????continue
????????????elif?len(PassWord)?>?24:
????????????????print(‘Your?password?is?too?long!‘)
????????????????continue
????????????elif?re.match(r‘[a-zA-Z0-9]{824}$‘PassWord)?==?None:
????????????????print(‘Password?is?illegal!‘)?
????????????????continue
????????????else:
????????????????PassWord1?=?input(‘Input?your?password?again:\n‘)
????????????????if?PassWord1?!=?PassWord:
????????????????????continue
????????????????else:
????????????????????break
????????PassWord?=?get_md5_value(PassWord)
????????message?=?bytes(UserNameencoding?=?‘utf-8‘)?+?b‘‘?+?bytes(PassWordencoding?=?‘utf-8‘)
????????sock.sendall(message)
????????serverback?=?sock.recv(1024).decode(‘utf-8‘)
????????if?serverback?==?‘0‘:
????????????print(‘Username?already?exists‘)
????????????continue
????????else:
????????????print(‘Register?successfully!‘)
????????????time.sleep(1)
????????????os.system(‘cls‘)
????????????break


def?log_in(sock):

????global?User
????while?True:
????????UserName?=?input?(‘Please?input?your?username:\n‘)
????????PassWord?=?getpass.getpass(‘Please?input?your?password:\n‘)
????????PassWord?=?get_md5_value(PassWord)
????????message?=?bytes(UserNameencoding?=?‘utf-8‘)?+?b‘‘?+?bytes(PassWordencoding?=?‘utf-8‘)
????????User?=?UserName
????????sock.sendall(message)
????????serverback?=?sock.recv(1024).decode(‘utf-8‘)
????????if?serverback?==?‘0‘:
????????????print(‘Incorrect?username?or?passwordplease?re-enter!‘)
????????????continue
????????else:
????????????print(‘Log?in?successfully!‘)
????????????time.sleep(1)
????????????os.system(‘cls‘)
????????????break
????if?not?os.path.exists(‘e:\\file_received\\‘+UserName):
????????os.makedirs(‘e:\\file_received\\‘+UserName)

def?log_out(sock):
????serverback?=?sock.recv(1024).decode(‘utf-8‘)
????if?serverback?==?‘1‘:
????????print(‘Log?out?successfully!‘)
????else:
????????print(‘Log?out?error!‘)

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????8321??2018-12-05?00:27??server.py
?????文件????????9028??2018-11-30?14:16??client.py

評論

共有 條評論