zoukankan      html  css  js  c++  java
  • tcp客户端程序开发

    话不多说,直接进入正题

    一:客户端一共分为5大块:

    1.创建客户端套接字

    2.和服务端套接字建立连接

    3.发送数据

    4.接收发送

    5.关闭客户端套接字

    二:socket类的介绍

    导入 socket 模块
    import socket

    创建客户端 socket 对象
    socket.socket(AddressFamily, Type)

    send(data) 表示发送数据,data是二进制数据

    recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度

    三:程序开发

    import socket


    def main():
    # 创建tcp客户端套接字
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 和服务端应用程序建立连接
    tcp_client_socket.connect(("192.168.28.1", 6666))
    # 准备发送的数据
    send_data = "你好,请问是服务器吗!".encode("gbk")
    # 发送数据
    tcp_client_socket.send(send_data)
    # 接收数据, 接收的数据最大字节数是1024
    recv_data = tcp_client_socket.recv(1024)
    # 返回的直接是服务端程序发送的二进制数据
    print(recv_data)
    # 对数据进行解码
    recv_content = recv_data.decode("gbk")
    print("接收服务端的数据为:", recv_content)
    # 关闭套接字
    tcp_client_socket.close()
    if __name__ == '__main__':
    main()

    *****************************************

    如果看客们不太理解的话,我给大家举个例子:

    创建套接字  相当于买手机

    和服务端建立连接 相当于你把电话打给谁

    发送数据 相当于你打通电话想跟对方说的话

    接收数据 相当于你收到了对方说的话

    关闭客户端 相当于电话打完了,挂断电话

    说到这是不是好理解些呢?

    *****注意点*****
    windows的编码格式是gbk
    mac os的编码格式是utf-8

    参数1: ‘AF_INET’, 表示IPv4地址类型

    参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型

    ********************************************************************

    第一次发博客,博客园还不太会用,如果大家喜欢的话,以后会不定时更新博客,

    希望大佬们嘴下留情,小弟就是一小白,有什么改进的请留言;

             谢谢了!




     
  • 相关阅读:
    csp-2020-s游记
    线性DP
    tarjan无向图
    tarjan有向图
    树前置知识普及
    hash
    可持久化线段树&主席树
    [HAOI 2015] 树上染色
    [Contest on 2020.11.24] Beetle
    [Contest on 2020.11.24] Candy
  • 原文地址:https://www.cnblogs.com/python-No/p/12014212.html
Copyright © 2011-2022 走看看