问题列表 - 第3445页

在C/C++中实现跨平台,多线程服务器的最佳方法是什么?

我与之合作的开发团队的一部分面临着编写服务器以与我们的产品集成的挑战.我们有一些提供C SDK的低级传感器设备,我们希望通过网络共享它们以供收集数据的人使用.听起来很简单吧?有人会将传感器设备连接到建筑物的一部分中的机器并运行我们的服务器,从而与网络的其余部分共享设备.然后,客户端将通过我们的应用程序连接到该服务器,并从设备收集传感器读数.

我创建了一个简单的,与语言无关的网络协议,以及Java中的参考实现.问题是创建一个实现,它将与我们的设备一起使用,这些设备仅提供用C编写的SDK.我们正在考虑执行以下操作:

  1. 创建轮询线程,收集并存储每个连接设备的最新读数.
  2. 使用多线程服务器将每个传入连接分离到工作线程.
  3. 当工作线程收到传感器读取请求时,轮询线程收集的最新值将被发送回客户端.

这是很多线程,特别是在C中.因此,要审查,一般要求是:

  • 在Windows XP/Vista,Linux和OS X计算机上运行
  • 用C或C++编写,与我们拥有的C SDK进行交互
  • 接受可变数量的同时连接(工作线程)
  • 必须使用线程,而不是分叉(不想处理另一层IPC)

谁能建议一个库,最好是一些示例代码才能开始使用?

c c++ multithreading network-programming client-server

10
推荐指数
3
解决办法
4550
查看次数

使用PowerShell创建本地用户(Windows Vista)

我最近安装了PowerShell,我开始寻找的第一件事就是如何创建一个新用户.寻找一段时间后,我仍然没有找到这个.我对linux上的bash有一点经验,发现它非常有效.在那里创建用户是微不足道的.是否有一种简单\内置的方式来使用PowerShell创建本地用户?

谢谢.

powershell adsi

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

JavaScript的"新"关键字被视为有害吗?

在另一个问题中,用户指出该new关键字使用起来很危险,并提出了一种不使用的对象创建解决方案new.我不相信这是真的,主要是因为我使用了Prototype,Scriptaculous和其他优秀的JavaScript库,并且每个人都使用了new关键字.

尽管如此,昨天我在YUI剧院观看道格拉斯·克罗克福德的演讲,他说的完全一样,他new在代码中不再使用关键字(Crockford on JavaScript - Act III:Function the Ultimate - 50:23分钟).

使用new关键字"不好" 吗?使用它有哪些优缺点?

javascript

566
推荐指数
12
解决办法
11万
查看次数

Code Golf:用最少的代码行打印整个"12 Days of Christmas"歌曲

打印流行节日歌曲的所有12节经文.

在12 节经文中,我的意思是在歌曲中演唱的每一行的重复,即

第一节:在圣诞节的第一天,我的真爱给了我一棵梨树上的鹧..

第二节在圣诞节的第二天,我的真爱给了我两只斑鸠和一棵梨树上的鹧..

...

N:在圣诞节的第n天,我的真爱给了我(没有第一行的第N-1节)(第N行增加了一行)

language-agnostic code-golf rosetta-stone

25
推荐指数
15
解决办法
9087
查看次数

将javascript嵌入为base64

我正在研究一个小的GreaseMonkey脚本,我想在其中嵌入一个jQuery插件(Markitup),以便脚本完全自包含(images + js),除了从谷歌提供的jQuery.

我发现网站http://www.greywyvern.com/code/php/binary2base64,如果你对base64编码脚本,你可以用href嵌入javascript,就像从CSS提供basse64图像一样.

<script type="text/javascript" href="data:text/javascript;base64,dmFyIHNjT2JqMSA9IG5ldyBzY3Jv..."></script>
Run Code Online (Sandbox Code Playgroud)

所以我尝试了但是根本无法使用OS X上的Firefox 3.0.5.

我把一个小的测试页面放在一起来隔离问题,但也无法让它在那个页面上工作.

<!DOCTYPE HTML>
<html>
   <head>
      <title>Title</title>
      <meta charset="utf-8">
   </head>
   <body>
      <script href="data:text/javascript;base64,YWxlcnQoJ2FzYWRhc2QnKTsK"></script> 
      <script>alert('a');</script>  
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

base64字符串(YWxlcnQoJ2FzYWRhc2QnKTsK)说alert('asadasd');我应该得到两个警报,但我看到的唯一警报是第二个警报位于脚本标记内的文本.

我做错了什么或为什么这不起作用,任何想法?

javascript embed base64

11
推荐指数
2
解决办法
1万
查看次数

为了学习目的,在Erlang中要解决哪些有趣的项目?

我最近发现了Erlang,现在我正在通过几个教程.到现在为止,我很期待将某些东西作为一个爱好项目来实现.我对另一个聊天服务器并不感兴趣.我想编写更有趣的东西(是的,我知道这是一个相当模糊的术语),这也是可以管理的,所以我可以在业余时间完成它.

有什么建议?

编辑:项目应该优先突出Erlang的优势(并发,分布式).

concurrency erlang distributed

27
推荐指数
5
解决办法
6140
查看次数

在QWidget上安装EventFilter(qt4.4.3/kde4)

我有一个K*窗口,在其中,需要过滤事件的窗口小部件.

例如,我不想点击它的可能性......

我怎样才能做到这一点?

我有没有使用eventfilters?在这种情况下,最好的方法是什么?


但我的问题是我无法子类化我的小部件,因为它是一个TerminalInterface-> widget(),而不是像其他人一样的对象:\

qt kde widget event-handling

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

使用(流利)NHibernate与StructureMap(或任何IoCC)

在我学习NHibernate的过程中,我已经达到了下一个障碍; 我该如何将它与StructureMap集成?

虽然代码示例非常受欢迎,但我对一般过程更感兴趣.

我打算做的是......

  • 使用Fluent NHibernate创建我的类映射以在NHibs配置中使用
  • 实现ISession和ISessionFactory
  • 将我的ISessionFactory实例作为单例引导到StructureMap中
  • 使用StructureMap注册ISession,使用per-HttpRequest缓存

但是,不要我需要调用我的会话实例各种整洁行动方法的HttpRequest的结束(因为这就是它的生命结束)?

如果我在Dispose()中进行整理,那么structuremap会为我解决这个问题吗?

如果没有,我该怎么办?

谢谢

安德鲁

c# structuremap nhibernate fluent-nhibernate

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

根据英国邮政编码生成谷歌地图

是否可以使用英国邮政编码中的谷歌地图API进行谷歌地图查找?我知道你可以在他们的网站上搜索英国邮政编码,但这会转换为lat/long.我无法访问PAF数据库以便能够转换为long/lat.

一个例子:

用户有一个待售商品.该项目的一个细节是邮政编码,用户/项目位于该邮政编码中.当项目显示在网站的前端时,需要有使用邮政编码生成的项目位置的谷歌地图.

如果可以,我该怎么做.

谢谢

google-maps paf

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

重构参数和单元测试

我有这个方法:

public bool CanExecute()
Run Code Online (Sandbox Code Playgroud)

在70次提交后,我添加了一个额外的参数

public bool CanExecute(IStation target)
Run Code Online (Sandbox Code Playgroud)

现在的问题是我有7个单元测试,涵盖了测试各种空值/属性组合的CanExecute方法.

添加这个简单的参数需要修复这7个单元测试.修复很简单,但......

是否有最佳实践和/或模式来避免更新单元测试所需的这种手工重构?

假设我知道在不久的将来可能会添加一个额外的参数,我如何对单元测试进行编码以解决这个问题?它只是矫枉过正还是有成语/模式/可以遵循的东西?

编辑:我不能简单地添加一个重载,因为IStation依赖不是可选的.我正在修复一个错误,其中IStation实例是预期的,但没有一个可用,所以它必须通过CanExecute提供...你看.

重构工具似乎是要走的路.谢谢!

c# parameters unit-testing

2
推荐指数
1
解决办法
486
查看次数