《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程序,执行情况如下:
《Python核心编程》练习题之2-7:创建一个简单的半双工聊天程序。半双工,就是指建立一个连接且服务开始后,一次只能一端发消息,不能同时对发消息。一个参与者在服务器一侧,另一位在客户端一侧_第1张图片

你可能感兴趣的:(笔记,python,socket)