《Python核心编程》练习题之2-7:创建一个简单的半双工聊天程序。半双工,就是指建立一个连接且服务开始后,一次只能一端发消息,不能同时对发消息。一个参与者在服务器一侧,另一位在客户端一侧

按照题目的意思,我写的程序如下:
服务器端程序:

import socket

HOST = ''                 # Symbolic name meaning all available interfaces
PORT = 50007              # Arbitrary non-privileged port
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen(1)
    conn, addr = s.accept()
    with conn:
        print('Connected by', addr)
        while True:
            recv_data = conn.recv(1024)
            print('对方说的话是:'+recv_data.decode('utf-8'))
            send_data = input('在此输入要给对方说的话:')
            conn.send(send_data.encode('utf-8'))

客户端程序:

# Echo client program
import socket

HOST = '127.0.0.1'    # The remote host
PORT = 50007              # The same port as used by the server
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    while True:
        send_data = input('在此输入要给对方说的话:')
        s.send(send_data.encode('utf-8'))
        recv_data = s.recv(1024)
        print('对方说的话是:'+recv_data.decode('utf-8'))

我运行了一下,达到了效果,只是没有定义bye-bye程序,执行情况如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值