Python socket 实现服务端和客户端数据传输(TCP)

  • 服务器端

    import socket
    
    #创建一个socket对象
    socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    host = "127.0.0.1"
    port = 9999
    #绑定地址
    socket_server.bind((host, port))
    #设置监听
    socket_server.listen(5)
    # socket_server.accept()返回一个元组, 元素1为客户端的socket对象, 元素2为客户端的地址(ip地址,端口号)
    client_socket, address = socket_server.accept()
    
    #while循环是为了让对话持续
    while True:
        #接收客户端的请求
        recvmsg = client_socket.recv(1024)
        #把接收到的数据进行解码
        strData = recvmsg.decode("utf-8")
        #设置退出条件
        if strData == 'q':
            break
        print("接收: %s" % strData)
        #输入
        msg = input("发送: ")
        #发送数据,需要进行编码
        client_socket.send(msg.encode("utf-8"))
    #关闭服务器端
    socket_server.close()
  • 客户端

    import socket
    #创建一个socket对象
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    host = "127.0.0.1"
    port = 9999
    #连接服务端
    client.connect((host, port))
    
    while True:
        send_msg = input("发送: ")
        #设置退出条件
        if send_msg == "q":
            break
        send_msg = send_msg
        #发送数据,编码
        client.send(send_msg.encode("utf-8"))
        #接收服务端返回的数据
        msg = client.recv(1024)
        #解码
        print("接收:%s", % msg.decode("utf-8"))
    #关闭客户端
    client.close()
    • 流程图
      Python socket 实现服务端和客户端数据传输(TCP)

    图片来源:https://blog.csdn.net/slavik_/article/details/82430717
    参考链接:时光不写博客-Python socket

上一篇:java Socket客户端和服务器端


下一篇:FastSocket学习笔记~再说客户端与服务端的组成