首页 > 其他分享 >ThreadingTCPServer实现简单的Tcp服务器

ThreadingTCPServer实现简单的Tcp服务器

时间:2022-11-18 17:45:09浏览次数:46  
标签:recv Tcp client address print 服务器 byte data ThreadingTCPServer

通过ThreadingTCPServer实现一个简单的Tcp服务器

# !/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File         :tcp_server.py
@Description  :
@Time         :2022/11/17 20:01:15
@Author       :tccxy
@Version      :1.0
'''

import socketserver
import time


class TcpServer(socketserver.BaseRequestHandler):

    def handle(self) -> None:
        conn = self.request
        client_address = self.client_address
        conn.sendall(bytes("hello test ", encoding="utf-8"))
        print(client_address, '--> client has connect ')
        flag = True
        while flag:
            try:
                data = conn.recv(1024)

                data_str = ""
                for byte in data:
                    try:
                        byte_char = chr(byte)
                    except Exception:
                        byte_char = f"{byte:02x} "
                    finally:
                        data_str += byte_char
                if(len(data_str) != 0):
                    # %Y-%m-%d 
                    print(
                        f'{time.strftime("%H:%M:%S", time.localtime(time.time()))} {client_address} {data_str}')
                else:
                    print("client has exit", client_address)
                    flag = False
            except Exception as recv_ex:
                print('client has exit ', recv_ex, client_address)
        return super().handle()


if __name__ == '__main__':
    server = socketserver.ThreadingTCPServer(('127.0.0.1', 9009), TcpServer)
    try:
        server.serve_forever()
    except KeyboardInterrupt as recv_ex:
        print('sys exit ', recv_ex)
        exit()

标签:recv,Tcp,client,address,print,服务器,byte,data,ThreadingTCPServer
From: https://www.cnblogs.com/tccxy/p/16904026.html

相关文章

  • 恒创科技:如何应对香港服务器使用过程中突发的异常流量?
    ​在与服务器打交道时,很明显,在某个时间点,站长们可能会面临一些与之相关的问题。比如,在香港服务器的使用中,可能会出现突发的异常流量影响其运行。这些异常流量其中很大一......
  • 恒创科技:有关服务器虚拟化的常见问题解答
    虚拟化”一词经常使用,尤其是与服务器相关的时候。以下是一些有关服务器虚拟化常见问题的解答。什么是服务器虚拟化?虚拟化是一个经常应用于范围广泛的......
  • 服务器处理能力估算(CPU、内存、存储)
    2.1 TPC-C标准  TPC-C基准是事务处理委员会建立的一个专门演示在线事务处理性能(OLTP)的性能基准,它的测量方法是为了使客户能够评估不同的在线事务处理系统的性能,这......
  • CENTOS7 NFS 服务器防火墙端口设置
    关于CentOS7上的配置NFS服务器,请参看:http://blog.csdn.net/w171066/article/details/51252116在CentOS7服务器上配置NFS服务并共享出目录后,发现客户端不能Mount共享出的目......
  • 配置squid代理服务器
    拓扑图:推荐步骤:Squid服务器配置IP地址配置正确网关和网卡模式,安装squid服务器配置squid传统模式访问web服务器实验步骤:一、squid服务器配置IP地址配置正确网关和网卡模式、......
  • windows环境下,安装 telegraf ,监控服务器cup /disk 等
    十年河东,十年河西,莫欺少年穷学无止境,精益求精时序数据库对windows的支持真的不友好,搞了半天,最终功夫不负有心人,索性记录下来,省的其他人再走弯路1、下载influxdbhttps:/......
  • 网络选择云服务器重要的部分是什么
    云服务器的优势:1、多地域性覆盖云服务器的所在地域性广,丰富的地域性为客户所拥有的业务保驾护航,三大地域覆盖全国内的业务需求。对于境外的也满足国外的需求。......
  • 华普物联HP-ERS-T200,振动传感器监测方案,工业级双串口通信服务器,RS485/232转以太网双
    随着科技的进步,现在工业化设备正逐步走向复杂化、高速化、自动化。为了掌握设备运行状态、避免发生事故,对生产中的关键机组实行在线监测和故障诊断,也越来越引起人们的重视......
  • 定时自动备份【TFTP服务器搭建】
    一、准备在centos7上安装部署TFTP服务器。(我使用版本:CentOSLinuxrelease7.9.2009(Core))二、安装过程1,安装TFTP服务器yuminstallxinetdtftptftp-server2、......
  • window平台快速部署syslog服务器
    最近内部测试需要部署一套syslog服务器,网上找了下,无论是linux还是windows,部署均非常麻烦,现在和大家分享一个基于windows平台快速部署syslog服务器的方法这里用到的工具就......