• 大小: 833KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C#
  • 标签: C#  ZMQ  

资源简介

C#代码最简单的调用ZeroMQ传输数据,传输文本信息,传输结构体数据,传输图像,完整代码,整理网络上的一些资料的应用。只是DLL版本是低版本的DLL库,并且是32位DLL库。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using ZeroMQ;

namespace GTTESTZMQ
{
    public partial class FrmSendRecv : Form
    {
        public FrmSendRecv()
        {
            InitializeComponent();
        }
        //提取版本号
        private void FrmSendRecv_Load(object sender EventArgs e)
        {
            this.Text =“当前ZMQ版本:“+ ZmqVersion.Current.Major + “.“ + ZmqVersion.Current.Minor + “.“+ZmqVersion.Current.Patch;
        }

        private int SendCount = 0;
        private int RecvCount = 0;

        #region 发送接收文本数据
        //发送数据
        private void btnSend_Click(object sender EventArgs e)
        {
            Task.Factory.StartNew(SendData);
        }

        void SendData()
        {
            ZmqContext context = ZmqContext.Create();
            ZmqSocket sock = context.CreateSocket(SocketType.PUB);
            sock.Bind(“tcp://*:5556“);
            SendCount = 0;
            while (true)
            {
                string sendMessage = “aaa“;
                 sendMessage = txtSendTxt.Text; 
                sock.Send(sendMessage Encoding.UTF8);
                Thread.Sleep(1000);
                SendCount++;
                BeginInvoke(new Action(() => { lblSendTxtInfo.Text = “发送“+SendCount+ “次\n文本为“+ sendMessage; }));
            }
        }

        //接收数据
        private void btnRecv_Click(object sender EventArgs e)
        {
            Task.Factory.StartNew(RecvData);
        }

        void RecvData()
        {
            ZmqContext context = ZmqContext.Create();
            ZmqSocket sock = context.CreateSocket(SocketType.SUB);
            sock.Connect(“tcp://“+txtServerIp.Text+“:5556“);
            RecvCount = 0;
            sock.SubscribeAll();
            while (true)
            {
                byte[] buf = new byte[1024];
                int ints = 0;
                byte[] msg = sock.Receive(buf out ints); 
                string strs = Encoding.UTF8.GetString(msg); 
                Thread.Sleep(1000);
                RecvCount++;
                BeginInvoke(new Action(() => { lblGetTxtInfo.Text = “接收“ + RecvCount + “次,文本为“+ strs+“数据长度:“+ints; }));
            }
        }


        #endregion

        #region 发送图像

        private byte[] SendMessage = null;
        private void btnSearch_Click(object sender EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            open.Filter = “*.jpg;*.png;*.bmp;*.jpeg(所有图片文件)|*.jpg;*.png;*.bmp;*.jpeg“;
            if (open.ShowDialog() == DialogResult.OK)
            {
                SendMessage = ImageToBytes(Image.FromFile(open.FileName));
            }
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.    104960  2018-01-28 13:42  GTTESTZMQ\.vs\GTTESTZMQ\v14\.suo

     文件      22688  2018-01-26 11:38  GTTESTZMQ\GTTESTZMQ\bin\Debug\GTTESTZMQ.vshost.exe

     文件        490  2015-10-22 09:54  GTTESTZMQ\GTTESTZMQ\bin\Debug\GTTESTZMQ.vshost.exe.manifest

     文件      79360  2012-09-27 17:50  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\clrzmq.dll

     文件      65024  2014-01-03 10:19  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\clrzmq.pdb

     文件      34917  2014-01-03 10:19  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\clrzmq.xml

     文件      40448  2012-08-10 16:36  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\CommandLine.dll

     文件      14848  2018-01-26 14:55  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\GTTESTZMQ.exe

     文件      30208  2018-01-26 14:55  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\GTTESTZMQ.pdb

     文件      22688  2018-01-26 14:56  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\GTTESTZMQ.vshost.exe

     文件     416256  2018-01-26 13:28  GTTESTZMQ\GTTESTZMQ\bin\x64\Debug\libzmq.dll

     文件      79360  2012-09-27 17:50  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\clrzmq.dll

     文件      65024  2014-01-03 10:19  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\clrzmq.pdb

     文件      34917  2014-01-03 10:19  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\clrzmq.xml

     文件      40448  2012-08-10 16:36  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\CommandLine.dll

     文件      19968  2018-01-28 13:42  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\GTTESTZMQ.exe

     文件      34304  2018-01-28 13:42  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\GTTESTZMQ.pdb

     文件      22696  2018-01-28 13:42  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\GTTESTZMQ.vshost.exe

     文件        490  2015-10-22 09:54  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\GTTESTZMQ.vshost.exe.manifest

     文件     416256  2018-01-26 13:28  GTTESTZMQ\GTTESTZMQ\bin\x86\Release\libzmq.dll

     文件      10696  2018-01-28 11:58  GTTESTZMQ\GTTESTZMQ\FrmSendRecv.cs

     文件      19220  2018-01-28 11:58  GTTESTZMQ\GTTESTZMQ\FrmSendRecv.Designer.cs

     文件       5817  2018-01-28 11:58  GTTESTZMQ\GTTESTZMQ\FrmSendRecv.resx

     文件       5078  2018-01-28 13:42  GTTESTZMQ\GTTESTZMQ\GTTESTZMQ.csproj

     文件     416256  2018-01-26 13:28  GTTESTZMQ\GTTESTZMQ\libzmq.dll

     文件        864  2018-01-26 11:37  GTTESTZMQ\GTTESTZMQ\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7022  2018-01-26 13:28  GTTESTZMQ\GTTESTZMQ\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       7031  2018-01-26 14:50  GTTESTZMQ\GTTESTZMQ\obj\x64\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       1024  2018-01-26 14:56  GTTESTZMQ\GTTESTZMQ\obj\x64\Debug\GTTESTZMQ.csproj.FileListAbsolute.txt

     文件       1012  2018-01-26 14:53  GTTESTZMQ\GTTESTZMQ\obj\x64\Debug\GTTESTZMQ.csproj.GenerateResource.Cache

............此处省略51个文件信息

评论

共有 条评论