client1::

    1. # 导入套接字模块 socket
    2. import socket
    3. # main 函数,为主模块时执行
    4. def main():
    5. # 1. 创建一个用于网络连接的套接字,使用 TCP 协议
    6. client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    7. # 2. 等待客户端的连接
    8. client.connect(("127.0.0.1", 0x1515))
    9. # 3. 和服务端使用 send recv 进行交互
    10. while True:
    11. # 等待服务器的回复,接收的数据是字节,需要解码
    12. print(client.recv(100).decode())
    13. s = input(">> ")
    14. # 发送的数据必须是 bytes 类型的,需要编码
    15. client.send(s.encode())
    16. if __name__ == "__main__":
    17. main()

    server1:

    1. # 导入套接字模块 socket
    2. import socket
    3. # main 函数,为主模块时执行
    4. def main():
    5. # 1. 创建一个用于网络连接的套接字,使用 TCP 协议
    6. server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    7. # 2. 绑定套接字到执行的 ip 和 端口,必须是元组
    8. server.bind(("127.0.0.1", 0x1515))
    9. # 3. 设置套接字为监听状态,同一时刻能接收的数量
    10. server.listen(socket.SOMAXCONN)
    11. # 4. 等待客户端的连接
    12. client, address = server.accept()
    13. # 5. 和客户端使用 send recv 进行交互
    14. while True:
    15. s = input(">> ")
    16. # 发送的数据必须是 bytes 类型的,需要编码
    17. client.send(s.encode())
    18. # 等待客户端的回复,接收的数据是字节,需要解码
    19. print(client.recv(100).decode())
    20. if __name__ == "__main__":
    21. main()