• python写一些简单的tcp服务器和客户端


    代码贴上,做个记录

    TcpClient

    # -*- coding:utf-8 -*-
    
    import socket
    
    target_host = "127.0.0.1" #服务器端地址
    target_port = 5555  #与服务器的端口号一致
    
    while True:
    
        client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
        client.connect((target_host,target_port))
        #data存储要发送的数据
        data = raw_input("请输入要发送的数据:")
        #input对于接受输入是有问题的  raw_input()把所有输入都看做字符串
        if not data:
            break
        client.send(data)
    
        response = client.recv(1024)
    
        print(response)
    
    client.close()
    

     TcpServer

    # -*- coding:utf-8 -*-
    import socket
    import threading
    
    bind_ip = "0.0.0.0"  #监听所有可用的接口
    bind_port = 5555  #非特权端口号都可以使用
    
    #AF_INET:使用标准的IPv4地址或主机名,SOCK_STREAM:说明这是一个TCP服务器
    server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #服务器监听的ip和端口号
    server.bind((bind_ip,bind_port))
    
    print("[*] Listening on %s:%d" % (bind_ip,bind_port))
    
    #最大连接数
    server.listen(5)
    
    #客户处理线程
    def handle_client(client_socket):
    
        request = client_socket.recv(1024)
    
        print("[*] Received: %s" % request)
        #向客户端返回数据
        client_socket.send("滴,打卡成功!")
    
        client_socket.close()
    
    while True:
    
        #等待客户连接,连接成功后,将socket对象保存到client,将细节数据等保存到addr
        client,addr = server.accept()
    
        print("[*] Acception connection from %s:%d" % (addr[0],addr[1]))
    
        client_handler = threading.Thread(target=handle_client,args=(client,))
        client_handler.start()

    客户端发送

     

    服务端接收数据

  • 相关阅读:
    threading库知识点补充
    数字中 数组排序
    python 多线程 thread (控制主线程跑完,子线程也关闭) 和 (等待子线程跑完,主线程才关闭)
    进程和线程理解
    上下文与 with语句 (如打开文件open的巧妙写法)
    Python中字符串String去除出换行符和空格的问题( , )
    去掉字符空格的方法
    postman 参数化(含文本)
    python之数组元素去重
    sql中limit使用方法
  • 原文地址:https://www.cnblogs.com/mke2fs/p/11100568.html
Copyright © 2020-2023  润新知