Tag: C#的

最好的C / C ++networking库

我还没有在C / C ++中做过一点工作,只是想知道人们最喜欢的跨平台库是如何使用的。 我正在寻找一个好的快速和肮脏的图书馆,以及一个更强大的图书馆。 通常这是两个不同的图书馆,这没关系。

如何编写一个可扩展的基于TCP / IP的服务器

我正处于编写一个新的Windows服务应用程序的devise阶段,该应用程序接受长时间连接的TCP / IP连接(即,这不像HTTP那里有很多短连接,而是客户端连接并保持连接数小时或数天甚至几周)。 我正在寻找想法来devisenetworking架构的最佳方式。 我将需要启动至less一个线程的服务。 我正在考虑使用asynchronousAPI(BeginRecieve等..),因为我不知道有多less客户端,我将连接在任何时候(可能是数百)。 我绝对不想为每个连接启动一个线程。 数据将主要从我的服务器stream出到客户端,但是偶尔会有一些来自客户端的命令。 这主要是一个监视应用程序,在这个应用程序中,我的服务器定期向客户端发送状态数据。 任何build议最好的方式使这个尽可能的可扩展性? 基本工作stream程 谢谢。 编辑:要清楚,我正在寻找基于.net的解决scheme(C#如果可能,但任何.net语言将工作) BOUNTY NOTE:为了获得赏金,我期待的不仅仅是一个简单的答案。 我需要一个解决scheme的工作示例,作为我可以下载的一个指针或一个简单的例子。 它必须是基于.net和Windows的(任何.net语言都可以) 编辑:我想感谢每个人给出了很好的答案。 不幸的是,我只能接受一个,而我select接受更为人熟知的Begin / End方法。 埃萨克的解决scheme可能会更好,但是这个问题还是很新的,我不知道如何解决问题。 我已经提出了所有我认为很好的答案,希望我能为你们做更多的事情。 再次感谢。

什么静态分析工具可用于C#?

有什么工具可用于对C#代码进行静态分析? 我知道FxCop和StyleCop。 有其他人吗? 我之前已经在NStatic上跑过了,但是它的开发过程似乎永远是这样 – 从我看到的很less的东西看,它看起来很漂亮,所以如果它能看到白天的光芒,那将是非常好的。 沿着这些相同的路线(这主要是我对静态分析的兴趣),用于testingmultithreading问题(死锁,竞态条件等)的代码的工具也似乎有点稀缺。 Typemock赛车手刚刚popup,所以我会看着那个。 除此之外的任何东西? 关于您使用的工具的真实意见,我们感激。

.NET中有哪些NoSQL解决scheme?

.NET中有哪些NoSQL解决scheme?

用64位代替32位循环计数variables引入了疯狂的性能偏差

我正在寻找最快的方式来popcount大量的数据。 我遇到了一个非常奇怪的结果:将循环variables从unsigned更改为uint64_t使得我的PC上的性能下降了50%。 基准 #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr << "usage: array_size in MB" << endl; return -1; } uint64_t size = atol(argv[1])<<20; uint64_t* buffer = new uint64_t[size/8]; char* charbuffer = reinterpret_cast<char*>(buffer); for (unsigned i=0; i<size; ++i) charbuffer[i] = rand()%256; […]

我如何validation用户input为双C ++?

我将如何检查input是否真的是双重的? double x; while (1) { cout << '>'; if (cin >> x) { // valid number break; } else { // not a valid number cout << "Invalid Input! Please input a numerical value." << endl; } } //do other stuff… 上面的代码无限输出Invalid Input! 声明,所以它不会提示另一个input。 我想提示input,检查它是否合法…如果它是双重的,继续…如果不是双重的,再次提示。 有任何想法吗?

整数除法总是为零

可能重复: C程序devise师 可能我的问题很简单和愚蠢。 我想存储一个分区的值,特别是1 / x ,其中x是一个整数值。 int x = 17; double result = 1/x; 我试图做到这一点,但我总是得到0.000000 …我尝试input一个固定的值,例如1/17但总是得到相同的值..什么是错误的?

生成随机的,唯一的值C#

我search了一段时间,一直在努力寻找这个,我试图生成几个随机的,唯一的数字是C#。 我正在使用System.Random,并使用datetime.now.ticks种子: public Random a = new Random(DateTime.Now.Ticks.GetHashCode()); private void NewNumber() { MyNumber = a.Next(0, 10); } 我经常打电话给NewNumber(),但问题是我经常得到重复的数字。 有人build议,因为我每次做的时候都是随机的,不会产生一个随机数,所以我把这个声明放在我的函数之外。 任何build议或更好的方法比使用System.Random? 谢谢

sizeof(bool)是否定义?

我无法在标准文档中find答案。 sizeof(bool)总是1个字节,还是实现定义?

如何从另一个类中运行的另一个线程更新UI

我目前正在编写我的第一个C#程序,我对这个语言非常陌生(以前只和C一起工作)。 我做了大量的研究,但是所有的答案都太笼统,我根本无法解决问题。 所以在这里,我的(很常见的)问题:我有一个WPF应用程序,它接受用户填充的几个文本框的input,然后使用它来做大量的计算。 他们大概需要2-3分钟,所以我想更新一个进度条和一个文本块告诉我目前的状态是什么。 另外我需要存储来自用户的UIinput,并将它们提供给线程,所以我有第三个类,我用它来创build一个对象,并希望将此对象传递给后台线程。 显然我会运行在另一个线程的计算,所以用户界面不冻结,但我不知道如何更新用户界面,因为所有的计算方法是另一类的一部分。 经过大量的研究,我认为最好的方法是使用调度员和TPL,而不是背景工作者,但老实说,我不知道他们是如何工作的,经过大约20个小时的反复试验,我决定问一个自己的问题。 这里有一个我的程序非常简单的结构: public partial class MainWindow : Window { public MainWindow() { Initialize Component(); } private void startCalc(object sender, RoutedEventArgs e) { inputValues input = new inputValues(); calcClass calculations = new calcClass(); try { input.pota = Convert.ToDouble(aVar.Text); input.potb = Convert.ToDouble(bVar.Text); input.potc = Convert.ToDouble(cVar.Text); input.potd = Convert.ToDouble(dVar.Text); input.potf = Convert.ToDouble(fVar.Text); […]