2021-12-11 ucp tcp 学习笔记

#邮件
import smtplib
import email.mime.multipart
import email.mime.text
from email.mime.application import MIMEApplication
msg=email.mime.multipart.MIMEMultipart()     #消息
msg['from']='wangqiuli2021@163.com'       #发件人
msg['to']='wangqiuli123@126.com'          #收件人
msg['subject']='上课邮件'           #主题
txt=email.mime.text.MIMEText('上Python课','plain','utf-8')  #内容
fj=MIMEApplication(open('c:\文件名.txt','rb').read())   #附件
fj.add_header('content-disposition','attachment',dilename='文件名.txt')
msg.attach(fj)      #添加附件
msg.attach(txt)         #把内容添加到消息
#发送
smtp=smtplib.SMTP()
smtp.connect('smtp.163.com',25)                  #连接服务器
smtp.login('wangqiuli2021@163.com','1234abcd')        #登入邮箱(邮箱账号和密码)
smtp.sendmail('wamhqiuli2021@163.com','wangqiuli123@126.com',str(msg))
smtp.quit()



#UDP/Server服务器
import socket
addr=('192.168.100.10',25250)
socketSocket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)#创建socket对象
socketSocket.bind(addr)#对象和地址 绑定
print('正在接受用户信息...')
while True:
    (date,addr)=socketSocket.recvfrom(1024)
    receivedText=data.decode()
    if receivedText=="结束通话":
        break 
    else:
        print('来自{0}的信息:{1}'.format(addr,receivedText) )
        socketSocket.sendto(data,addr) 
socketSocket.close() 







#UDP/Client客户端
import socket
addr=('192.168.100.10',25250)
clientSocket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
    inputText=input('请输入信息:').encode() #转码 
    clientSocket.sendto(inputText,('192.168.100.10',25250)) 
    if inputText.decode()=='结束通话':
        break
    else:
        data.addr=clientSocket.recvfrom(1024)
        print('系统分分配的地址{}'.format(clientSocket.getsockname()))
        print('服务器{0}回答{1}'.format(('192.168.100.10',25250),data.decode()))
clientSocket.close() 







#TCP/Servertcp
from socket import *
from time import ctime
addr=('192.168.100.10',25250)
s=socket(AF_INET,SOCK_STREAM) #创建对象
s.bind(addr)
s.listen(1)
while 1:
    print('正在接收用户信息...')
    client,adde=s.accept()
    print('信息来自:',addr)
    while 1:
        data=client.recv(1024).decode()
        a='[%s]接收到信息:%s'%(ctime(),data)
        a=a.encode()        #解码
        if data=='结束通话':
            break
    print('本次服务到此结束')
    client.close()
s.close()

       


tcp/Clienttcp
from socket import *
addr=('192.168.100.10',25250)   #服务器IP地址和端口
c=socket(AF_INET,SOCK_STREAM)     #实例socket对象
c.connect(addr)   #连接到服务器socket
while True:
    inputText=input('请输入信息:')    #输入
    c.sendall(inputText.encode() )    #发送
    data=c.recv(1024).decode()    #接收
    print(data)        #打印
    if inputText=='结束通话'
        break 
c.close() 



cmd:cd/
python server.py
python client.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值