C#
爱喝奶茶的火锅
程序员有梦想是可以改变世界的!C/C++是亘古不变的经典,C#是生存的必备法宝,swift是新世界大门的开启钥匙,我想我爱上了编程。
展开
-
C#使用ODBC方式读写MySQL数据库
创建数据库文件首先用MySQL Workbench创建数据库,建立之前,需要安装1、ODBC.NET(全称ODBC .NET Data Provider)是一个免费的.NET Framework附加组件,需要到微软公司的网站上去下载,下载地址为:http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeX...原创 2020-03-18 17:28:46 · 1662 阅读 · 0 评论 -
【转】c#连接Access数据库及增删改查作
c#连接Access数据库及增删改查作点击上方连接即可,文章内容很不错。转载 2020-03-18 10:43:23 · 566 阅读 · 0 评论 -
【C#】TCP通信使用结构体来传输数据
在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现:1、定义结构体://命名空间using System.Runtime.InteropService...原创 2020-03-08 09:10:02 · 1556 阅读 · 0 评论 -
使用CancellationTokenSource 取消任务
示例代码:using System;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp1{ class Program { //声明CancellationTokenSource对象 static CancellationTokenSource ...原创 2020-03-04 15:08:46 · 2387 阅读 · 0 评论 -
WPF多线程UI更新——两种方法
WPF多线程UI更新——两种方法前言在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象。)这是很常见的一个错误,一不小心就会有这个现象。在WPF中,如果不是用多线程的话,例如单线程应用程序,就是说代码一路过去都在GUI线程运行,可以随意更新任何东西,包括UI对象。但是使用多线程来更新...转载 2020-03-04 14:44:07 · 1380 阅读 · 0 评论 -
C#实现Socket_TCP/IP(客户端,服务器端通信)
客户端与服务器通信,通过IP(识别主机)+端口号(识别应用程序)。IP地址查询方式:Windows+R键,输入cmd,输入ipconfig。端口号:可自行设定,但通常为4位。服务器端:using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.So...转载 2020-03-03 13:30:20 · 8104 阅读 · 0 评论 -
【转】c#读取Modbus数据
前面连续写了关于SOCKET编程的东西,似乎有点高大上,为了学习而学习。因此这里我们来整点实际应用的东西。C#如何读取Modbus数据,Modbus很多人可能一点都不知道,也正常,隔行如隔山嘛。Modbus在自动化行业就不一样,属于路人皆知的东西,很多设备、程序都与Modbus息息相关。 Modbus这个东西,本人也是个二把刀,只有半瓶水,所以在这里晃荡,写点Modbus东西,也...转载 2020-03-01 16:40:56 · 1634 阅读 · 1 评论 -
【转】c#结构体和byte[]之间的转换
/// <summary> /// 结构体转化成byte[] /// </summary> /// <param name="structure"></param> /// <returns></returns> public static Byte[] StructToByte...转载 2020-03-01 10:05:44 · 1158 阅读 · 0 评论 -
【转】C#实现Omron欧姆龙PLC的Fins Tcp协议
最近项目需要用上位机通讯Omron PLC,使用无线网络的Fins协议,经测试通过后代码如下:使用方法:1、引用此命名空间;2、实例化类FinsTcp;3、调用连接函数conn();4、读取写入操作(读位数据,写位数据,读字数据,写字数据 四个函数都有说明);注意:读字数据 和 写字数据时,一个字 = 两个字节,注意字节数组长度应该是字的两倍,还有高低位变化。using Syste...转载 2020-02-29 13:15:54 · 3206 阅读 · 0 评论 -
C#调用C++动态链接库dll
C#调用C++动态链接库dll由于公司很多底层的SDK,都是C++开发,上层的应用软件却是C# Winform程序。在实际工作的过程中,就经常碰到了C# 程序调用C++ 动态库的问题。最近一直在和C++ 打交道,C# 怎么调用C++ 类库函数。也遇到了一些问题,所以就来总结总结C#程序调用C++动态库时的各种坑。1. 可能遇到的问题: C#在调用动态库的过程中我也遇到了以下一些问题:...转载 2019-12-31 09:22:42 · 3342 阅读 · 0 评论 -
C#实现UDP通信
C#实现UDP通信client:server:client:using System;using System.Text;using System.Net;using System.Net.Sockets; namespace udptest{ class Program { static void Main(string[] args) ...转载 2019-11-27 17:11:43 · 445 阅读 · 0 评论 -
如何将C++中的SOCKADDR_IN*参数类型转换成C#中的参数类型
将C++中的参数类型SOCKADDR_IN*映射为C#中的IntPtr参数类型的示例代码如下:IntPtr ptrSockaddr = new IntPtr();//ip地址sockaddr_in sockaddr = new sockaddr_in();sockaddr.sin_family = ADDRESS_FAMILIES.AF_INET;sockaddr.sin_port = ...转载 2019-11-27 10:57:11 · 256 阅读 · 0 评论 -
C#实现Omron欧姆龙PLC的Fins Tcp协议
最近项目需要用上位机通讯Omron PLC,使用无线网络的Fins协议,经测试通过后代码如下:使用方法:1、引用此命名空间;2、实例化类FinsTcp;3、调用连接函数conn();4、读取写入操作(读位数据,写位数据,读字数据,写字数据 四个函数都有说明);注意:读字数据 和 写字数据时,一个字 = 两个字节,注意字节数组长度应该是字的两倍,还有高低位变化。———————————...转载 2019-11-25 15:03:36 · 2526 阅读 · 0 评论 -
C#实现串口通信
概述在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的。在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且...转载 2019-11-25 14:59:42 · 1695 阅读 · 0 评论 -
C#实现TCP通讯协议
概述Socket的Send方法,并非大家想象中的从一个端口发送消息到另一个端口,它仅仅是拷贝数据到基础系统的发送缓冲区,然后由基础系统将发送缓冲区的数据到连接的另一端口。值得一说的是,这里的拷贝数据与异步发送消息的拷贝是不一样的,同步发送的拷贝,是直接拷贝数据到基础系统缓冲区,拷贝完成后返回,在拷贝的过程中,执行线程会IO等待, 此种拷贝与Socket自带的Buffer空间无关,但异步发送消息的...转载 2019-11-25 14:45:09 · 8077 阅读 · 5 评论 -
C#通过socket实现UDP通信
C# 通过socket实现UDP 通信概述服务端程序:客户端程序:结果图:文章来源:概述UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不...转载 2019-11-25 14:37:16 · 1640 阅读 · 3 评论