草庐IT

Safe_ports

全部标签

c# - SerialPort port.open "The port ' COM 2' does not exist."

SerialPort.Open();我遇到了一个大问题我正在与USB虚拟COM端口(cdc)通信,它被列为COM2。它在TeraTerm/hyperTerminal等中运行良好。但是当我尝试在C#中打开端口时,它给了我异常Theport'COM2'doesnotexist。我使用SerialPort.GetPortNames()函数获取端口名称,调试时它看起来很好。我曾尝试将名称设置为硬编码,但没有成功。现在真正奇怪的是,它在某些PC上运行良好,而在其他PC上运行失败。在一些PC上,它总是失败,而在其他PC上,它有10%的时间失败。更奇怪的是它取决于所使用的USB端口,一些端口工作正常

c# - 如何制作从 C# "Thread-safe"调用的 C (P/invoke) 代码

我有一些使用单个全局变量的简单C代码。显然这不是线程安全的,所以当我在C#中使用P/invoke从多个线程调用它时,事情就搞砸了。如何为每个线程单独导入此函数,或使其成为线程安全的?我尝试声明变量__declspec(thread),但这导致程序崩溃。我还尝试制作一个C++/CLI类,但它不允许成员函数是__declspec(naked),我需要(我正在使用内联汇编)。我在编写多线程C++代码方面经验不足,因此可能缺少某些内容。下面是一些示例代码:C#[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]pu

c# - "thread-safe type"到底是什么?我们什么时候需要使用 "lock"语句呢?

我阅读了所有关于线程安全类型和“锁定”语句的文档,但我仍然没有100%理解它。具体什么时候需要使用“lock”语句?它与(非)线程安全类型有何关系?谢谢。 最佳答案 想象一个类的实例,里面有一个全局变量。想象一下,两个线程同时对该对象调用一个方法,并且该方法更新内部的全局变量。变量中的值很可能会被破坏。不同的语言和编译器/解释器会以不同的方式处理这个问题(或者根本不处理......)但关键是你会得到“不希望的”和“不可预测的”结果。现在假设该方法在尝试读取或写入变量之前获得变量的“锁”。第一个调用该方法的线程将获得变量的“锁”,第二

c# - Serial Port ReadLine vs ReadExisting 或如何从串口正确读取数据

我正在从串口读取数据。数据超出了规模。我现在正在使用Readline(),即使在我删除DiscardInBuffer()之后数据也会丢失。从串口读取数据的正确方法是什么?网上的例子太少了,我觉得这就像是无人问津的chalice。C#、WinCE5.0、HP瘦客户机、Compact框架2.0privatevoidWeighSample(){this._processingDone=false;this._workerThread=newThread(CaptureWeight);this._workerThread.IsBackground=true;this._workerThread

c# - 诊断 ObjectDisposedException "Safe handle has been closed"

我有一个C#应用程序,它正在使用消息命中ObjectDisposedExceptionSafehandlehasbeenclosed我一启动应用程序就会发生这种情况。遗憾的是,堆栈跟踪确实没有帮助(见下文)。我有什么办法可以确定这里正在异步尝试调用什么?DoAsyncCall()真的意味着异步方法调用吗?mscorlib.dll!System.Threading.EventWaitHandle.Set()+0xebytesmscorlib.dll!System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(Syste

c# - 串口通信 : polling serial port vs using serial port DataReceived event

我只是在回顾我在CF2.0上用C#编写的与串行端口通信的一些代码。我没有使用DataReceived事件,因为它不可靠。MSDNstatesthat:TheDataReceivedeventisnotgauranteedtoberaisedforeverybytereceived.UsetheBytesToReadpropertytodeterminehowmuchdataislefttobereadinthebuffer.我用read()轮询端口,并有一个委托(delegate)在读取数据时处理数据。我还在某处读到“轮询不好”(没有给出解释)。知道轮询为什么不好吗?除了通常的线程警告

#ubuntu# #git# repository git config --global --add safe.directory

ubuntu克隆下源码对其操作时git时偶发性报错 fatal:detecteddubiousownershipinrepository并提示可以:gitconfig--global--addsafe.directory/目录我们按提示执行确实可以短暂避免该问题,但治标不治本,且文件很多时需要一个个敲命令。产生这一问题的本质原因是下载代码的所有权没有转移,即你下载了别人的代码(一般使用docker下载后,本地编译容易出现),别人声明该代码所有权。所以,在修改代码时会报以上问题。因此,我们需要做的并不是声称哪目录是安全的,而是要将代码所有权转移。  使用以下命令将代码所有权转移gitconfig

javascript - 如何编写接受回调函数的函数并以 'safe' 方式运行它?

我想写这样一个函数:functiondoGoodJob(someId,callBackfunction){//somestuffwithsomeId//todo:RUNcallBackFunctionhere}他们说eval在代码注入(inject)方面是“危险的”。那么,编写接受回调函数并安全运行的JavaScript函数的最佳实践是什么? 最佳答案 您的回调是字符串还是实际函数?如果它是一个函数..functiondoGoodJob(someId,callbackFunction){callbackFunction();}doG

javascript - Firebase 服务错误 : Port 5000 is not open. 无法启动功能模拟器

我正在尝试在本地提供firebase功能,但是当我运行firebaseserve或firebaseemulators:start时,错误消息是:“端口5000未打开,无法启动功能模拟器。”我使用的是Windows10,所以我尝试更改端口号,检查端口是否被防火墙阻止,然后我在防火墙中为端口5000-5010创建了一个新规则,但这些方法都不适合我. 最佳答案 对于Mac/Linux,使用终端/Shell找到进程ID(PID),然后终止进程。sudolsof-i:5000sudokill-9PID

javascript - "Protocols, domains, and ports must match"问题

当我在控制台上查看时,我的网站有这些错误消息。谁能告诉我通常导致这些错误消息的问题是什么?Blockedaframewithorigin"mysite"fromaccessingaframewithorigin"facebook".Theframebeingaccessedset"document.domain"to"facebook",buttheframerequestingaccessdidnot.Bothmustset"document.domain"tothesamevaluetoallowaccess.contentscript_siteoverlay_bin.js:78B