未发布 串行端口监视器Serial Port Monitor v7.0.312发布丨附下载 串行端口监视器Serial Port Monitor是专业、强大的系统实用程序,用于监测RS232/422/485 COM端口。它不但可以监测、显示、记录和分析系统中串行端口的所有活动,还可以跟踪应用程序或驱动程序开发、测试等过程中可能出现的问题,因此,它是优化串行设备最理想的一套程序。
Serial Port Monitor v7.0.312更新内容
新增:
Modbus协议(RTU和ASCII)解码。
Modbus协议的新视图。
用于Modbus协议的独立过滤器。
监控会话比较。
支持Windows Server 2016。
将会话再现到串行端口的功能。
64位GUI版本(当进程占用太多的RAM时,监控将不会中断)。
视图之间的选择同步。
表格视图的“注释”列。
在工具栏中打开和关闭过滤器的功能。
当监控不活动时,能够创建用于数据重定向的新文件。
在表格视图中的第一个和最后一个突出显示的IRP之间的状态栏中显示总读/写数据统计信息。
在转储视图中显示串行端口设置更改。
在“转储”视图中选择显示哪些数据的选项:二进制、ASCII、端口设置。
会话文件打开时,在状态栏中显示监控会话统计信息。
能够将过滤器应用于特定的串行端口。
在表格视图中显示应用程序尝试写入端口的Write事件的数据,除了已写入的数据。
能够禁用终端视图的自动滚动。
命令行选项允许将数据附加到文件而不是覆盖它。
保存监视会话时的进度条。
改进:
表格视图中的IRP现在显示“Line”视图中的转录提示。
重新设计“新会话”窗口(所有可用的端口立即显示)。
主窗口标题现在显示正在监视的串行端口。
双击即可打开监控会话文件。
可以通过将监控会话文件拖放到串行端口监视器窗口中来打开监视会话文件。
“新建会话”窗口中的串行端口现在按端口号而不是名称排序。
当监视会话文件被打开时,监控不会自动启动。
“数据表示”选项将不允许现在每行设置超过100个字符,以提高性能。
修复:
启用“保持最后100个IRP”时,内存泄漏(现在此选项可防止长时间监控期间的高内存消耗)。
当硬件流量控制启用且连接另一端的串口未打开时,内置终端挂起。
0d 0a字符显示不正确。
当系统中出现新的串行端口时挂起。
终端视图菜单选项关闭时禁用。
监视进程启动时开始捕获选项。
解析IOCTL_SERIAL_GET_PROPERTIES和IOCTL_SERIAL_LSRMST_INSERT事件。
在打开大型监视会话文件时关闭串行端口监视器。
串行端口监视ActiveX安装与串行端口监视器不一致。
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 MySQL的查询优化方法及原理详解丨附下载 关于MySQL的查询优化方法大家应该都知道一些:不使用NULL字段、为字段选择合适的数据类型、合理创建索引、不能使用SELECT *等等,但是你真的理解了这些优化方法了吗?它们的工作原理是什么?在实际运用中性能可以得到提升吗?其实未必。如何合理运用这些优化方法的前提是理解其中原理,希望本文能给你一定的帮助。
MySQL逻辑架构
如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。
MySQL逻辑架构
MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。
MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。
最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。
点击查看完整文章>>>
未发布 Xmanager Enterprise网络通讯工具更新合集 Xmanager Enterprise是完整的网络连接套件,它带有一个高性能PC X服务器,支持OpenGL(GLX)、3d硬件加速、安全终端模拟器、文件传输客户端和LPD打印机服务器。Xmanager Enterprise 4使3d X应用程序运行得更快,通过SSH和TELNET来提供安全的远程终端访问,通过SFTP/FTP进行方便的文件传输,使用LPD在本地打印远程文件等。
Xmanager Enterprise v5.1243更新:
- 修复:[Xmanager]全屏启动时屏幕闪烁
- 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
- 修复:[Xshell]终端复位时,光标不复位
- 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
- 修复:[Xshell]反向视频终端转义序列被忽略
- 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡
- 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
- 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22
- 修复:[Xlpd]资源清理
Xmanager是市场领先的PC X服务器,它能够带来Windows平台下强力的虚拟应用技术。使用Xmanager,能够使安装在远程的基于UNIX系统的X应用程序与一般的Windows应用程序 完全一样。它提供了一个强大的会话管理控制台、易于使用的X应用程序启动器、X服务器概要文件管理工具、SSH模块和用于安全访问的远程高性能PC X服务器及虚拟化的UNIX/Linux
环境。
Xmanager v5.1056更新:
Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、TELNET、RLOGIN和SERIAL。它提供业界领先无法替代的性能和特性集。它有许多对企业用户有用的特性,包括:分页式环境、动态端口转发、自定义键映射、用户定义按钮、VB脚本以及显示2字节字符和支持国际语言的UNICODE终端。
Xshell v5.1333更新:
- 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
- 修复:[Xshell]终端复位时,光标不复位
- 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
- 修复:[Xshell]反向视频终端转义序列被忽略
- 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡
Xftp是一个灵活和轻量级的SFTP / FTP客户端,它主要用于为用户提供通过网络安全的传输文件。它提供了许多强大的功能,比如直接编辑、多窗格、文件夹同步、支持FXP、服务器之 间传输以及集成第三方编辑器。在处理远程文件方面Xftp将为你节省时间和精力。 对于家庭和学校的用户来说,Xftp是免费的。具体情况可参阅家庭和学校用户免费使用许可协议条款和
Xftp v5.1229更新:
- 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
- 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22
Xlpd是一个用于Windows系统的简单的行式打印机后台程序(LDP)和打印作业管理工具。它通过LPD协议从远程服务器接收打印任务并把该打印任务发送至本地打印机。LPD是一个支持多种操作系统的标准的打印协议,支持包括UNIX、Solaris和Linux等系统。
Xlpd v5.1231更新:
未发布 MailBee.NET Objects退回邮件教程(一):SMTP部分 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
所有退回的电子邮件都应该到达一个邮箱地址。这里将其命名为我们的退件通知栏 - bounce@domain.com。显然,你需要确保退回的邮件能有它们的方式到达退件通知栏。
让我们看看这些邮件是如何由SMTP服务器发送的。当一封邮件提交给SMTP服务器时,它将被标记返回路径。返回路径是服务器用于与邮件的原始发送方通信的路径,因此返回路径通常是发件人的电子邮件地址(“From”地址)。
返回路径记录在邮件中。“From”用于显示发件人地址。返回路径和字段“From”中的地址不必一样。因此,您可以发送一个使用字段“From”的电子邮件显示发件人(jdoe@domain.com),但返回路径将是bounce box地址(bounce@domain.com)。有了这个技巧,所有的反弹消息都将返回到一个特殊的邮箱。
那么如何使用MailBee Objects呢?smtp.Send(senderEmail,recipient)方法向指定的收件人电子邮件地址发送电子邮件。第一个参数是发件人的电子邮件地址。如果是空引用,则电子邮件地址取自“From”属性。第二个参数包含收件人电子邮件地址的分隔列表。当第二个参数为空时,收件人列表可以由To、Cc和Bcc列表组合。正如你所看到的,第一个参数是我们组织一个退件栏所需要的。如果将退件栏地址设置为第一个参数,那么所有退回邮件将被发送到特殊地址。
注意:某些SMTP服务器不允许从“From”标头中指定的地址发送电子邮件。
代码示例:
此示例使用SMTP协议发送电子邮件。为了确保所有收件人都收到该邮件,TestSend将被调用。带有传送错误的邮件将来自指定的电子邮件地址。
C#
// Create SMTP object
Smtp mailer = new Smtp();
// Set the message fields.
mailer.From.AsString = "jdoe@domain.com";
mailer.To.AsString = "bill@domain2.com";
mailer.Subject = "Hi";
mailer.BodyPlainText = "This is test message";
// Starts logging SMTP activities into a file.
mailer.Log.Enabled = true;
mailer.Log.Filename = @"C:\log.txt";
mailer.Log.Clear();
// Specify the server to use. If your server does not require authentication,
// just omit both last parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
// Attempt to connect.
mailer.Connect();
// Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers[mailer.GetCurrentSmtpServerIndex()].Name);
// Make sure all the recipients are ok.
if (mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) != TestSendResult.OK)
{
Console.WriteLine("No recipients can receive the message.");
}// Show refused recipients if any
else if (mailer.GetRefusedRecipients().Count > 0)
{
Console.WriteLine("The following recipients failed: " + mailer.GetRefusedRecipients().ToString());
}
else
{
Console.WriteLine("All recipients are ok. Will send the message now.");
// Send e-mail. If it cannot be delivered, bounce will
// arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", (string)null);
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString());
}
// Disconnect from the server
mailer.Disconnect();VB.NET
' Create SMTP object
Dim mailer As New Smtp
' Set the message fields.
mailer.From.AsString = "jdoe@domain.com"
mailer.To.AsString = "bill@domain2.com"
mailer.Subject = "Hi"
mailer.BodyPlainText = "This is test message"
' Starts logging SMTP activities into a file.
mailer.Log.Enabled = True
mailer.Log.Filename = "C:\log.txt"
mailer.Log.Clear()
' Specify the server to use. If your server does not require authentication,
' just remove last 2 parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
' Attempt to connect.
mailer.Connect()
' Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers(mailer.GetCurrentSmtpServerIndex()).Name)
' Make sure all the recipients are ok.
If mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) <> TestSendResult.OK Then
Console.WriteLine("No recipients can receive the message.")
Else
' Show refused recipients if any
If mailer.GetRefusedRecipients().Count > 0 Then
Console.WriteLine("The following recipients failed: " & mailer.GetRefusedRecipients().ToString())
Else
Console.WriteLine("All recipients are ok. Will send the message now.")
' Send e-mail. If it cannot be delivered, bounce will
' arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", CType(Nothing, String))
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString())
End If
End If
' Disconnect from the server
mailer.Disconnect()
未发布 多平台移动项目开发工具Elements发布v9.2,新增Java语言 Elements是一款多平台移动项目开发工具软件,它包含Oxygene、C#、Swift三种编程语言和相关工具,并且提供这三种语言丰富的开发经验以及最新的Fire开发环境,极大的方便开发人员开发软件项目。
Elements v9.2进行了许多改进、修复和提升以及全新的前端语言。
Iodine: Java
Elements v9.2新增了第四种语言:Java。不要与Java平台混淆,Iodine将Java语言带入了Elements,并将其应用于所有平台:.NET、Cocoa、Java/Android和Island。这意味着你现在可以在.NET平台上使用Java语言,或者在创建iOS应用程序时重用一些现有的Android代码。这也意味着Java开发人员现在可以将Java用于本机Android NDK应用程序和扩展,而不必使用C/C ++。
当然,Java完全支持Visual Studio、Fire和Water Preview。
Water (Preview)
我们在发布Elements 9.1时开启了Water项目,让你了解在Windows上Elements开发人员的IDE体验。Alpha的初步反馈一直是积极的,用户对IDE的速度感到惊讶。现在,你可以使用稳定的9.2编译器查看最新的Water Preview,并进行实际运用。
Island
不到一年的时间,我们针对CPU编译器目标的Island平台正在紧密结合。虽然这一次的更改日志不如五月份那样长,但是Elements 9.2增加了一些重要的改进,包括Windows上的Island应用程序的全新定制调试引擎、新的模板和帮助Android NDK开发,并支持用于本地平台上的任务和异步代码。
Fire
Elements 9.2是Fire的一次重要升级。对于非托管调试器(Cocoa和Island),有一个新的反汇编视图,可以让你在CPU指令级别(包括没有符号的代码,例如OS库)中检查和逐步执行应用程序。
搜索已经通过新的嵌入式搜索窗格、搜索历史记录以及过滤文件的功能得到改进。代码编辑器现在加强了周围的代码块和匹配的XML标签,并且支持自动完成XML关闭标签和XML代码完成(目前为.plist文件,但为下一步XAML和Android XML CC奠定基础)。
Silver: Swift
在Silver方面,此版本支持Swift 4(Apple将在今年晚些时候发布),以及平台平衡和与Apple Xcode兼容性的其他改进。
未发布 微软的dotnet-new工具可以使创建JavaScript Web 程序变得更简单 Microsoft发布了一组工具,使用他们的dotnet-new工具和使用Node.js的灵活方法可以快速生成基于JavaScript的Web 应用程序。
dotnet-new工具是.NET Core工具的一部分,用于使用简单的命令启动一个新项目。作为ASP.NET Core JavaScript Services的一部分,Web开发人员现在可以使用相同的命令来启动新的单页应用程序(SPA)。
点击查看完整内容>>>
未发布 TWAIN扫描识别工具Dynamic Web TWAIN发布v13.2,周年限时7折特惠! 慧都十四周年狂欢开启,Dynamic Web TWAIN终极让利7折特惠
限时一个月,错过不再有,马上咨询>>>
Dynamic Web TWAIN v13.2更新内容
[HTML5 for All]修复了内存泄漏的问题,扫描服务在将图像数据传输到Web浏览器后未释放内存。注意:此错误从版本13.0开始。
[HTML5 for Mac]修复了网络服务有时候没有正常关闭的错误。
[ActiveX]修复了base64字符串以“==”结尾的错误,无法使用SetCustomDSDataEx方法进行解码。
[ActiveX]修复了在调用Dynamsoft.WebTwainEnv.Unload方法之后Dynamsoft.WebTwainEnv.Load方法不起作用的错误。
[ActiveX]修复了TransferMode属性无法正常运行的错误。

未发布 Dynamsoft Camera SDK 发布v6.0,增加新的文档模式丨附下载 Dynamsoft Camera SDK提供了JavaScript api,使您可以轻松地从浏览器兼容的USB视频类(UVC)网络摄像头捕捉图像和视频流。使用基于浏览器的网络摄像头库,您可以将直播视频流捕获到一个容器并在您的web应用程序中用几行代码获取图像。
Dynamsoft Camera SDK 6.0新版本添加了一个新的文档模式,它有助于扩展你的文档捕获应用程序,并通过网络摄像头进行文档扫描。该文档模式支持文档边框检测、自动裁剪和图像处理(透视校正,噪声消除等)。内置的HTML5文档编辑器也可轻松编辑捕获的文档图像。
增加了使用UVC摄像机文档图像的新文档模式:
未发布 苹果公司透露Siri新发音引擎的内部原理 苹果公司透露了他们通过深度学习让Siri的发音更加自然的内幕。
iPhone用户使用自然语言向Siri提问,Siri也通过语音回答问题。Siri可以使用21种语言回答问题,遍布全球36个国家。在2017年WWDC大会上,苹果宣布了iOS 11上的Siri将使用最新的文本语音引擎。2017年8月,苹果的机器学习期刊透露了他们是如何让Siri的发音更加自然的。 iPhone上的语音是通过拼接预先录制的人类语音来生成的。先录制几个小时的语音,再把它们拆分成单词,然后再把单词拆成最基本的元素:音素。在生成句子的时候,系统会选择合适的音素,再把它们拼接在一起。
为音素选择合适的录音是一件很有挑战性的事情。每一个音素都要与发音相匹配,也要与相邻的其他音素相匹配。旧系统只有几种录音,音素的来源很有限,所以听起来有点不自然。于是苹果决定使用深度学习来确定声音单元在句子中的各种属性。
每一台iOS设备都包含了一个小型的预录音素数据库。每一份数据都包含了音频属性:声音频谱的音高和音长。一个经过训练的“深度混合密度网络(deep mixture density network)”用于预测每一个音素在句子中的特征。苹果设计了一个成本函数来训练这个网络,着重考虑到两个方面的问题:如何让音素与发音相匹配以及如何让它与句子相融合。
在通过“Viterbi”算法从数据库里找到需要的数据后,系统会选出最佳的音素组合,把它们拼接起来,然后播放出声音。
另一种方式是生成声波,而不是拼接预录的声音。2016年9月,Alphabets Deepmind发布了WaveNet引擎,可以基于电脑生成文本语音。它的不足是速度很慢,就算使用最快的台式电脑也需要很长时间才能完成合成任务。所以,Siri不会在短时间使用合成语音代替录制语音。