网卡流量测试-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)


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值