代码如下

            //实例化线程组
            Thread[] clientThreads = new Thread[numThread];

            ; i < numThread; i++)
            {
                clientThreads[i] = new Thread(new ParameterizedThreadStart(SocketClient));
                clientThreads[i].Start(i);
            }

多线程组模拟socket发送

        static void SocketClient(object s)
        {
            //本机地址字符串
             + Convert.ToInt32(s)).ToString() + ";

            IPHostEntry ipHost = Dns.Resolve(ipServer);
            IPAddress ipAddress = ipHost.AddressList[];
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, portServer);
            //实例化套接字
            Socket socketClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            try
            {
                socketClient.Connect(ipEndPoint);
                WriteLine(string.Format("Successfully connected to {0}! Socket Client {1}", socketClient.RemoteEndPoint, strAddress));

                ];
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);
                byteAddr[] = Convert.ToByte(strAddress.Substring(, ), 0x10);

                Packet pkt = new Packet();
                byte[] heartpkt = pkt.SendHeartPkt(byteAddr, addrTarget);

                int times = timerdata / timerheart;
                Random rd = new Random();

                while (true)
                {
                    ; i < times - ; i++)
                    {
                        socketClient.Send(heartpkt);
                        WriteLine(string.Format("Send: {0}! \r\n Socket Client {1}", pkt.BytesToStr(heartpkt), strAddress));
                        System.Threading.Thread.Sleep( * timerheart);
                    }
                    UInt16 i1 = (UInt16)rd.Next();
                    UInt16 i2 = (UInt16)rd.Next();
                    UInt16 i3 = (UInt16)rd.Next();
                    UInt16 i4 = (UInt16)rd.Next();
                    UInt16 i5 = (UInt16)rd.Next();

                    byte[] byte1 = BitConverter.GetBytes(i1);
                    byte[] byte2 = BitConverter.GetBytes(i2);
                    byte[] byte3 = BitConverter.GetBytes(i3);
                    byte[] byte4 = BitConverter.GetBytes(i4);
                    byte[] byte5 = BitConverter.GetBytes(i5);

                    ];
                    databyte[] = byte1[];
                    databyte[] = byte1[];
                    databyte[] = byte2[];
                    databyte[] = byte2[];
                    databyte[] = byte3[];
                    databyte[] = byte3[];
                    databyte[] = byte4[];
                    databyte[] = byte4[];
                    databyte[] = byte5[];
                    databyte[] = byte5[];

                    byte[] datapkt = pkt.SendDataPkt(byteAddr, addrTarget, databyte);
                    socketClient.Send(datapkt);
                    WriteLine(string.Format("Send: {0}! \r\n Socket Client {1}", pkt.BytesToStr(datapkt), strAddress));
                    System.Threading.Thread.Sleep( * timerheart);
                }
            }
            catch (Exception ex)
            {
                WriteLine(string.Format("Exception:{0} \r\n Socket Client {1}", ex.ToString(), strAddress));
            }
        }

C# 实例化多线程组的更多相关文章

  1. Jmeter登录后Session自动共享与多线程组并行

    在接口测试中,出于安全考虑接口是需要session才能访问.另外在此基础上,我们还可能模拟不同的客户端登录,需要并行运行移动端线程组. 实现session共享1)修改jmeter安装目录bin下的jm ...

  2. jmeter 多线程组间变量共享

    jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中.拿Cookie ...

  3. JMeter跨线程组保持登录(多线程组共享cookie)

    使用__setProperty设置全局变量: 1.jmeter中创建一个登录请求,然后执行,察看结果树-->查看返回cookie信息,我的是在Response data中的 Response h ...

  4. Java多线程编程核心技术---拾遗增补

    线程状态验证 public class MyThread extends Thread { public MyThread() { System.out.println("构造方法中的状态: ...

  5. Java线程组(ThreadGroup)使用

    JDK 对线程组类注释: A thread group represents a set of threads. In addition, a thread group can also includ ...

  6. C# 多线程辅助类实现多任务

    1)首先实现一个多线程的辅助类,代码如下: public class ThreadMulti { public delegate void DelegateComplete(); public del ...

  7. C# 多线程任务分配辅助类

    1)首先实现一个多线程的辅助类,代码如下: public class ThreadMulti { public delegate void DelegateComplete(); public del ...

  8. 剖析虚幻渲染体系(15)- XR专题

    目录 15.1 本篇概述 15.1.1 本篇内容 15.1.2 XR概念 15.1.2.1 VR 15.1.2.2 AR 15.1.2.3 MR 15.1.2.4 XR 15.1.3 XR综述 15. ...

  9. JAVA学习Swing章节按钮组件JButton的简单学习

    package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; ...

随机推荐

  1. iOS coreData使用遇到的问题

    使用coreData,一定要有上下文环境.创建上下文时,和以前有些不同,之前 NSManagedObjeContext *context = [NSManagedObjectContext alloc ...

  2. linux消息队列的使用及内核实现原理

    mq_receive NAME mq_open - open a message queue SYNOPSIS #include <fcntl.h> /* For O_* constant ...

  3. Nginx 笔记与总结(7)Location:正则匹配

    在 /usr/local/nginx/conf/nginx.conf 的默认 server 段中,保留默认的 location 信息(之前测试的 location 配置删除): location / ...

  4. Redis 笔记与总结6 Redis 高级应用之 事务处理、持久化操作、pub_sub、虚拟内存

    3.事务处理 redis 对事务的支持目前还比较简单. redis 只能保证一个 client 发起的事务中的命令可以连续的执行,而中间不会插入其他 client 的命令. 由于 redis 是单线 ...

  5. 为什么数值类型byte取值范围是(-128~127)?

    在解决这个问题之前,我们先了解几个概念? 一.原码, 反码, 补码的概念 正数的反码和补码都与原码一样: 负数的反码.补码与原码不同,负数的反码:原码中除去符号位,其他的数值位取反,0变1,1变0.负 ...

  6. NERDTree 快捷键辑录

    参看连接:http://www.cnblogs.com/lexus/archive/2012/11/04/2753187.html http://yang3wei.github.io/blog/201 ...

  7. hibernate 数据库列别名自动映射pojo属性名

    package com.pccw.business.fcm.common.hibernate; import java.lang.reflect.Field; import java.math.Big ...

  8. 【QQ音乐Api】移花接木 打造自己的音乐电台

    最近突发奇想想做个在线音乐小网页.需求很简单,如下 搜索歌曲 或 歌手 在线播放音乐 借用qq 或者 百度的 音乐接口 需求明确那就直接动手了 我首先尝试的百度音乐,但是不能在线播放(提示forbid ...

  9. js文档视口高度函数

    objwin=window;objBody=document.body;objDel=document.documentElement;   关于弹窗时候用到 function getPageHeig ...

  10. A2DP协议笔记

    1.概述     A2DP(Advanced Audio Distribution Profile)是蓝牙的音频传输协议,典型应用为蓝牙耳机.A2DP协议的音频数据在ACL Link上传输,这与SCO ...