zoukankan      html  css  js  c++  java
  • jmeter与tcp和udp建立连接

    1.jmeter 与tcp 建立连接

     先启动一个tcp服务端

    # -*- coding:utf-8 -*-
    #@Time : 2020/5/17 20:18
    #@Author: 张君
    #@File : server_test.py
    
    # encoding=utf-8
    
    import socketserver
    import threading
    
    class MyTCPHandler(socketserver.BaseRequestHandler):
        def handle(self):
            while True:
                self.data = self.request.recv(1024).strip()
                cur_thread = threading.current_thread()
                print(cur_thread)
                if not self.data:
                    print(u"客户端:%s 退出!" % self.client_address[0])
                    break
                print(u"%s 内容:%s" % (self.client_address[0], self.data.decode("utf-8")))
    ##            self.request.sendall(self.data.upper()+'
    '.encode("utf-8"))
                self.request.sendall(self.data.upper()+'
    '.encode("utf-8"))   #转为大写字母后返回给客户端
    		    # 可以加一个服务端断开的
    
    
    if __name__ == "__main__":
        HOST, PORT = "", 8001
        server = socketserver.ThreadingTCPServer((HOST, PORT), MyTCPHandler)
        print("启动了")
        server.serve_forever()
        #server.server_close()

    客户端

    # -*- coding:utf-8 -*-
    #@Time : 2020/5/17 20:17
    #@Author: 张君
    #@File : client_test.py
    
    import logging, time, socket, struct, binascii
    
    target_host = "127.0.0.1"
    
    target_port = 8001
    # AF_INET指定使用IPv4协议,如果要用更先进的IPv6,就指定为AF_INET
    # SOCK_STREAM指定使用面向流的TCP协议
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((target_host, target_port))
    
    
    for i in range(1):
        msg="zhangjun"
        client.send(msg.encode("utf-8"))
        response = client.recv(2048)
        logging.info("响应bytes是: {}".format(response))
    

      

    jmeter模拟客户端

       注意设置的eol 10(! 的 accsii码 )  是因为客户端与服务端没有协商  怎么确定是关闭连接,所以客户端 会一直等待服务端发送响应,实际服务端已经发送完了,   所以客户端自己设置的,客户端自己来判断 算数据接收完,所以客户端使用! 就算接收完, 如果客户端不设置断开连接的表示,在结果书中会显示500

    2.jmeter与udp 连接

    udp 服务端

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import socket
    
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.bind(("127.0.0.1", 3600))
    print("UDP bound on port 3600...")
    
    while True:
        data, addr = s.recvfrom(1024)
        print("Receive from %s:%s" % addr)
        if data == b"exit":
            s.sendto(b"Good bye!
    ", addr)
            continue
        s.sendto(b"Hello %s!
    " % data, addr)

    jmeter 模拟客户端连接

    IP:服务端IP ,UDP服务的端口  response timeout:超时时间, decode class:kg.apc.jmeter.samplers.UDPSampler  request data:返回内容

     服务端收到的内容

     客户端收到的服务端内容:

     我上传了我做的一些demo,主要是一些control

    链接:https://pan.baidu.com/s/1bRFUgEdLebGvgGPoyTSkHw
    提取码:1t72

  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/chongyou/p/12906975.html
Copyright © 2011-2022 走看看