阿艾辣悟叩德 2020-04-20
客户端:
import socket
#  1,买手机
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#  2,请求连接
phone.connect((‘127.0.0.1‘,8082))
#  3,通信
while True:
    msg=input(‘请输入发送文字:‘).strip()
    if len(msg) == 0: continue
    phone.send(msg.encode(‘utf8‘))
    if msg == "q": break
    data=phone.recv(1024)
    print(data.decode(‘utf8‘))
#  5,关机
phone.close()服务端:
import socket
#  1,买电话()
phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#  2,装电话卡
phone.bind((‘127.0.0.1‘,8082))
#  3,开机
phone.listen(5)
#  4,等待电话请求
while True:
    conn,client_addr=phone.accept()
    #  5,通信(ulinx系统遇到客户端突然断开连接会进入循环,用break可以打断)
    while True:
        try:
            data=conn.recv(1024)
            if data.decode(‘utf8‘) == ‘q‘:break
            conn.send(data.upper())
        except Exception:
            break
    #  6,挂机
    conn.close()
#  7,关机
# phone.close()服务端:
import socket
sever=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
sever.bind((‘127.0.0.1‘,8083))
while True:
    date,user_addr=sever.recvfrom(1024)
    date=date.upper()
    sever.sendto(date,user_addr)客户端:
import socket
client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
while True:
    msg=input(‘请输入:‘).strip()
    client.sendto(msg.encode(‘utf8‘),(‘127.0.0.1‘,8083))
    res,sever_addr=client.recvfrom(1024)
    print(res.decode(‘utf8‘))