笔记本📒

Python之TCP客户端-服务端程序开发

2021-01-19  本文已影响0人  涓涓自然卷

TCP客户端程序开发

import socket


if __name__ == '__main__':
    # 1、创建客户端套接字对象
    tcp_client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # 2、和服务端套接字建立连接
    tcp_client_socket.connect(("XXX.XXXX.161.XXX", 8080) )
    # 3、发送数据
    tcp_client_socket.send("nihaome".encode(encoding="utf-8"))
    # 4、接收数据
    recv_data = tcp_client_socket.recv(1024)
    print(recv_data.decode())
    # 5、关闭客户端套接字
    tcp_client_socket.close()

TCP服务端程序开发

import socket


if __name__ == '__main__':
    # 1、创建服务端套接字对象
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 设置端口复用
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    # 2、绑定IP地址和端口号
    # tcp_server_socket.bind(("10.4.161.48", 8888))
    # 如果bind中的参数第一个IP地址元素设置为"",就是默认为 本机IP地址
    tcp_server_socket.bind(("", 8888))
    # 3、设置监听 128:代表服务端等待排队连接的最大数量
    tcp_server_socket.listen(128)
    # 4、等待接受客户端的连接请求 accept阻塞等待 返回一个用以和客户端通讯socket,客户端的地址
    conn_socket,ip_port = tcp_server_socket.accept()
    print("客户端地址:", ip_port)
    # 5、接收数据
    recv_data = conn_socket.recv(1024)
    print("接受到的数据", recv_data.decode())
    # 6、发送数据
    conn_socket.send("客户端你的数据我收到了。".encode())
    # 7、关闭套接字
    conn_socket.close()
    tcp_server_socket.close()

运行结果

image.png image.png

知识要点

TCP服务端程序开发知识要点.png
上一篇下一篇

猜你喜欢

热点阅读