Python 多线程开启TCP服务器

测试过程中需要设备监听大量tcp端口,然后写了一个多线程启用tcp服务器的脚本。记录一下

# -*- coding: utf-8 -*-
from socket import *
from time import ctime
import threading
import random


class tcp_threading:
    def __init__(self):
        self.ip = input('请输入监听IP:')
        self.ran = input('请输入监听端口数:')

    def tcp(self):
        tcpSerSock = socket(AF_INET, SOCK_STREAM)  # scoket实例化
        port = random.randint(1025, 65535)
        ip_post = (self.ip, int(port))
        tcpSerSock.bind(ip_post)
        tcpSerSock.listen(5)
        print('正在监听端口:'+str(port)+'\n')
        while True:
            tcpCliSock, addr = tcpSerSock.accept()
            print("连接中 :", addr)
            data = tcpCliSock.recv(1024)
            if not data:
                break
            content = '[%s] %s' % (bytes(ctime(), "utf-8"), data)
            print(data)
            tcpCliSock.send(content.encode("utf-8"))
        tcpCliSock.close()

    def run(self):
        for i in range(int(self.ran)):
            thread = threading.Thread(target=self.tcp)
            thread.start()


if __name__ == '__main__':
    tcp = tcp_threading()
    tcp.run()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值