Socket TCP 编写程序分客户端和服务器端不同的程序。 TCP程序是面向连接的,相对于UDP要安全可靠,但是开销大,UDP简单,方便,开销少,但是有安全隐患。

TCP 客户端程序代码

import socket


def main():

    # 创建连接
    tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    tcp_socket.bind(("", 8081))
    # 连接服务器
    server_ip = input("请输入服务器IP:")
    server_port = int(input("请输入服务器端口号:"))
    send_data = input("请输入发送的内容:")
    server_addr = (server_ip, server_port)
    tcp_socket.connect(server_addr)
    # 发送数据
    tcp_socket.send(send_data.encode("utf-8"))
    # 关闭连接
    tcp_socket.close()


if __name__ == "__main__":
    main()

TCP 服务器端程序

import socket


def main():

    # 创建连接
    tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    tcp_socket.bind(("", 8081))
    # 连接
    tcp_socket.listen(128)
    # 接受数据
    while True:
        print("等待客户端的连接:")
        new_socket, client_addr = tcp_socket.accept()
        while True:
            recv_data = new_socket.recv(1024).decode("utf-8")
            if recv_data:
                print("接受到客户端发送的内容:"+recv_data)
            else:
                break
        new_socket.close()
    # 关闭连接
    tcp_socket.close()


if __name__ == "__main__":
    main()