此脚本主要用于网卡数据流量收发测试
#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)