网卡流量测试-TCP多进程数据收发

部署运行你感兴趣的模型镜像

此脚本主要用于网卡数据流量收发测试

#TCP接收脚本

#!/usr/bin/env python3
'''
Description: Copyright(c) All rights reserved.
Company: YUSUR
Author: Zhang Chuan
Date: 2021-11-23
LastEditors: Zhang Chuan
LastEditTime: 2021-11-23
'''
import select
import socket
import sys
from multiprocessing import Process
from tcp_long_recv import recv

def multi_recv(ip, port, count):
    serv_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    serv_sock.bind((ip, port))
    serv_sock.listen(8)
    #serv_sock.setblocking(False)

    print("Listening on {0}...".format(serv_sock.getsockname()))

    #linkNo = 0
    record = []

    #while 1:
    for i in range(count):
        # new connection
        conn_sock, cli_addr = serv_sock.accept()
        print("LinkNo.{0} Server {1} accept connection from: {2}".format(i, conn_sock.getsockname(), cli_addr))
            
        p = Process(target=recv, args=(conn_sock, cli_addr, i, serv_sock))
        p.start()
        record.append(p)

    for p in record:
        p.join()

    serv_sock.close()


# Entry
if __name__ == "__main__":
    if (len(sys.argv) < 4):
        print("Please input listen IP & port & how many connections will come!")
        exit(-1)

    ip = sys.argv[1]
    port = int(sys.argv[2])
    count = int(sys.argv[3])

    try:
        multi_recv(ip, port, count)

    except Exception as exp:
        print("Exception error: ", exp)
        exit(-1)
    else:
        exit(0)


#tcp发送脚本
#!/usr/bin/env python3
'''
Description: Copyright(c) All rights reserved.
Company: YUSUR
Author: Zhang Chuan
Date: 2021-11-23
LastEditors: Zhang Chuan
LastEditTime: 2021-11-23
'''
import socket
import sys
import string
import time
from multiprocessing import Process
from tcp_long_send import connect


def multiconnect(ip, port, count):
    record = []
    for i in range(count):
        p = Process(target=connect, args=(ip,port,i))
        p.start()
        record.append(p)

    for p in record:
        p.join()

# Entry
if __name__ == "__main__":
    if (len(sys.argv) < 4):
        print("Please input server IP & port & amount of link!")
        exit(-1)

    ip = sys.argv[1]
    port = int(sys.argv[2])
    count = int(sys.argv[3])

    try:
        print("Try to connect to server {0}...".format((ip, port)))
        multiconnect(ip, port, count)

    except Exception as exp:
        print("Exception error: ", exp)
        exit(-1)
    else:
        exit(0)


您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值