小编Ari*_*yck的帖子

在C#中通过MAC Ping或以其他方式告知设备是否在网络上

我正在开发一个家庭安全应用程序.我想做的一件事是根据我是否在家里自动关闭它.我有一部带Wifi的手机,当我回家时,它会自动连接到我的网络.

手机通过DHCP连接并获取其地址.虽然我可以将其配置为使用静态IP,但我宁愿不这样做.在C#/ .Net中是否有任何类型的"Ping"或等效设备可以获取设备的MAC地址并告诉我它是否在网络上当前有效?

编辑:为了澄清,我正在PC上运行软件,我希望能够在同一局域网上检测到手机.

编辑:这是我想出的代码,感谢spoulson的帮助.它可靠地检测我感兴趣的任何手机是否在家中.

private bool PhonesInHouse()
{

    Ping p = new Ping();
    // My home network is 10.0.23.x, and the DHCP 
    // pool runs from 10.0.23.2 through 10.0.23.127.

    int baseaddr = 10;
    baseaddr <<= 8;
    baseaddr += 0;
    baseaddr <<= 8;
    baseaddr += 23;
    baseaddr <<= 8;

    // baseaddr is now the equivalent of 10.0.23.0 as an int.

    for(int i = 2; i<128; i++) {
        // ping every address in the DHCP pool, in a separate …
Run Code Online (Sandbox Code Playgroud)

.net c# mac-address ping

13
推荐指数
1
解决办法
7634
查看次数

从Wiimote移动到相机?

我一直在做一些Johnny Chung Lee风格的 Wiimote编程,并且遇到了Wiimote相对狭窄的视野和四点限制的问题.我买了一个Creative Live!具有85度视野和高分辨率的相机.

我的原型应用程序是用C#编写的,我想留在那里.

所以,我的问题是:我想找一个C#.Net相机/视觉库,让我可以在相机的视野中跟踪点 - 可能是LED.将来,我想转向R/G/B点跟踪,以便更容易地跟踪和区分更多点.有什么建议?

c# camera computer-vision wiimote

6
推荐指数
2
解决办法
1355
查看次数

IntPtr并避免使用不安全的代码

我有一个采用IntPtr的外部库。有没有安全的方法可以做到这一点...

int BytesWritten = 0;
Output.WriteBytes(buffer, new IntPtr(&BytesWritten));
Run Code Online (Sandbox Code Playgroud)

...而不必使用“不安全”代码?我对IntPtrs不太熟悉,但是我想做这样的事情:

fixed int BytesWritten = 0;
Output.WriteBytes(buffer, IntPtr.GetSafeIntPtr(ref BytesWritten));
Run Code Online (Sandbox Code Playgroud)

...以这种方式,我不需要使用/ unsafe进行编译。

我不能更改WriteBytes函数,它是一个外部函数。

似乎在'ref int'和IntPtr之间应该进行某种类型的转换,但是我还没有找到它的运气。

.net c# intptr

5
推荐指数
1
解决办法
2460
查看次数

Global.asax没有捕获错误?

我的项目有一个名为oops.aspx的错误页面.我们在以下代码中有以下代码global.asax:

protected void Application_Error(object sender, EventArgs e)
{
    Server.Transfer("~/oops.aspx", true);
}
Run Code Online (Sandbox Code Playgroud)

oops.aspx 能够提取错误,生成一个很好的电子邮件到服务器,并向用户显示一条错误消息.

使用Server.Transfer保留URL,表单信息和其他有用的故障排除信息.在oops.aspx的某个时刻,在撰写电子邮件时,我抓住了Request.RawUrl并将其包含在电子邮件中.这是导致错误的页面的URL(带有查询字符串参数).

我们在web.config中也有这个:

<customErrors mode="On" defaultRedirect="oops.aspx"></customErrors>
Run Code Online (Sandbox Code Playgroud)

当系统由于基于此的错误而重定向时,它会重定向到/oops.aspx?aspxerrorpath=/Clients/EditClient.aspx(有时使用/,有时使用%2f路径分隔符).Querystring和Exception信息丢失,因此oops.aspx生成的电子邮件和消息很少,并且没有说明发生了什么.

我最近遇到了很多第二种错误.错误发生在一小束中,其中几个在几分钟内发生,然后在几个小时内没有发生.它们发生在整个站点(包括on WebResource.axd等),这让我觉得它不是我们站点中的特定错误,而是发生在较低级别的事情,如会话服务器问题或类似的事情.

所以,尽管如此,我的实际问题是:

我在网站上遇到错误,这种错误发生在他们没有被global.asax捕获的情况下.什么可能导致此类错误,我该如何解决它们?

c# asp.net error-handling global-asax

4
推荐指数
1
解决办法
1121
查看次数