问题列表 - 第5607页

如何将byte []缓冲区复合到List <byte>中?

所以我使用大小为1024的缓冲区(byte [])通过套接字接收数据,并且我希望将它们组合在一起,以便在它们大于1024字节的情况下形成整个数据包.我选择了一个List来存储整个数据包,我想要做的是在它进入时添加读取的每个缓冲区.我想做:

List.AddRange(Buffer);
Run Code Online (Sandbox Code Playgroud)

但是如果缓冲区未满,则会将一堆空字节填充到最后.所以我自然想要做的只是在List中添加一定范围的字节,但是没有这样的方法.我总是可以创建一个完全接收的字节数的临时字节数组,然后使用AddRange()并得到我想要的结果,但这对我来说似乎很愚蠢.更不用说它会创建然后在每次读取数据时丢弃一个数组,这对可伸缩多用户服务器上的性能不利.

有没有办法用List做到这一点?或者我可以使用其他一些数据结构吗?

.net c# networking

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

从头开始编写COM对象?

我刚刚开始了一项涉及大量COM编程的新工作.到目前为止,我已经做好了,继续我的COM基础知识,这是我作为开发者的旅程,但我是那种需要了解一切的人.因为我不知道这些东西是如何工作的,所以整天和COM一起工作让我很烦.

是否有从头开始创建基本COM对象的简单步骤?我的意思是一切.没有Visual Studio,没有ATL.只是编译器和记事本.

windows com winapi

13
推荐指数
2
解决办法
1879
查看次数

解决有序列表中的模糊类别

让我们举一个具体的例子,希望我能清楚.假设(有序)月份列表:

1月<2月<3月<... <12月

(用整数代表几个月,零基础),这样

Jan是0,2月是1,...,Dec是11.

现在假设我无法访问月份的全名,并且给出了以下列表,其中几个月缩短为第一个字母,e代表空类别,如下所示:

e,F,e,e,e

如果我建立一个"明确的月份"列表(f:1,s:8,o:9,n:10,d:11),我可以通过首先计算第一个类别来填充空类别(使用减法和mod 12),然后从那里写下其余的.但是,假设我被列入清单

e,A,e,e,J,e

然后我可以(直观地)计算出虽然A是模糊的(可能是4月或8月),但在这种情况下它只能是4月,因为8月之后没有任何J在2个类别之后跟随它.一旦我找到了这个,我可以从一开始就再次计算一切.

最后,我的问题是:是否存在针对此问题的分析解决方案(函数,算法),还是我唯一希望使用强力来定义每个潜在关系?对于一些例子,没有消歧算法/函数可以工作:考虑我有一个J后跟11 e的情况,然后是J后跟11 e ...因为有一年之间,我不能将J消除到1月,6月或7月的歧义.

:我最终编写了Il-Bhima的答案,因为特别是对于这种情况,正则表达式是可以的,即使在更高的运行时间O(mn).然而,我接受了Ben的答案作为正确的答案,因为它包含了其他答案(提到了正则表达式解决方案),但也提出了一种更好的方法,使用KMP算法O(m + n),尽管这是针对更大数量的字符串反对匹配模式.谢谢大家.

algorithm math function

3
推荐指数
1
解决办法
206
查看次数

801
推荐指数
5
解决办法
49万
查看次数

为什么这个mysql查询给我垃圾结果?

我试图获得用户拥有的积分总数,以及当前月份积分.当用户获得一个点时,它会使用时间戳记录到点表中.总计会忽略时间戳,而当前月份的点会查找具有正确时间戳的点(从该月的第一天开始).

SELECT user_id, user_name, sum(tpoints.point_points) as total_points, sum(mpoints.point_points) as month_points
FROM users 
LEFT JOIN points tpoints
ON users.user_id = tpoints.point_userid 
LEFT JOIN points mpoints 
ON (users.user_id = mpoints.point_userid AND mpoints.point_date > '$this_month')
WHERE user_id = 1
GROUP BY user_id
Run Code Online (Sandbox Code Playgroud)

点表结构

 CREATE TABLE IF NOT EXISTS `points` (
  `point_userid` int(11) NOT NULL,
  `point_points` int(11) NOT NULL,
  `point_date` int(11) NOT NULL,
  KEY `point_userid` (`point_userid`),
  KEY `point_date` (`point_date`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

这导致非常大的数量,即等于所有点的总和,乘以与查询匹配的行数.

我需要在不使用子查询或多个查询的情况下实现此目的.

mysql sql

0
推荐指数
1
解决办法
239
查看次数

你可以给一个Django应用程序一个详细的名称,以便在整个管理员中使用吗?

就像你可以给出Django管理员中出现的字段和模型详细名称一样,你能给一个应用程序一个自定义名称吗?

python django

137
推荐指数
8
解决办法
7万
查看次数

在C++中初始化位域结构的最佳方法是什么?

在C++中,我有一个包含匿名位域结构的类.我想将其初始化为零,而无需手动写出所有字段.

我可以想象将初始化放在三个地方:

  1. 在位域中创建构造函数
  2. 在包含类的构造函数的初始化列表中清零
  3. 在包含类的构造函数的主体中清零

这个位域有很多字段,我宁愿不列出所有字段.

例如,请参阅以下代码:

class Big {
    public:
        Big();

        // Bitfield struct
        struct bflag_struct {
            unsigned int field1 : 1;
            unsigned int field2 : 2;
            unsigned int field3 : 1;
            // ...
            unsigned int field20 : 1;
            // bflag_struct(); <--- Here?
        } bflag;

        unsigned int integer_member;
        Big         *pointer_member;
}

Big::Big()
  : bflag(),             // <--- Can I zero bflag here?
    integer_member(0),
    pointer_member(NULL)
{
    // Or here?
}
Run Code Online (Sandbox Code Playgroud)

其中一个更好吗?或者还有其他我想念的东西?

编辑:根据下面接受的答案(Ferruccio),我决定采用这个解决方案:

class Big {
    // ...

    struct bflag_struct {
        unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ constructor struct initialization bit-fields

5
推荐指数
3
解决办法
9057
查看次数

WPF滑块问题

我在旧的win32应用程序中看到过这种行为,当你在滑块轨道上的某个位置按住鼠标时(拇指除外),拇指移动到该位置.

在WPF中,似乎正在发生的事情是拇指移动由SmallChange或LargeChange定义的距离.如果继续按住,它会在Delay属性定义的一段时间后再次通过SmallChange/LargeChange移动.

现在我想得到旧的行为?因此,如果拇指位于2并且我在10附近按下鼠标,我希望它跳到10.最好的方法是什么?

在此先感谢您的任何建议.

c# wpf slider

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

在MediaWiki中使用动态生成的类别时限制类别转换

起初我不确定如何在MediaWiki上做一些高级操作的问题属于这里,但是在阅读常见问题并思考它之后,我认为wiki标记与HTML和CSS一样是自己的语言,如果那些欢迎提出问题,希望这也是!如果我错了,请随意标记这个问题.更新:正如这个问题得到的3个观点所证明的那样,我想虽然也许它符合Stackoverflow的规则,但可能没有太多关于这个主题的专业知识!我想我需要把这个问题带到官方论坛(不寒而栗)


问题

在维基上,我正在设置我的MediaWiki,我有一个模板,输出动态创建的类别.这意味着将根据传递给模板的一些变量对调用模板的页面进行分类.动态生成的类别是内部<includeonly>块,以防止模板页面本身获取类别.

问题是我然后将该页面转移到其他页面,这也导致类别被转换,现在第三页面具有它所转换的所有页面的所有类别.

我想以某种方式格式化模板,以便调用模板的页面将使用类别,但任何转换调用页面的页面都不会继承类别.

这是我在设置示例中的最佳镜头.如果这不够,我可以提供我现实世界的例子的链接.

Template:Food
一个页面,它接受一些变量并输出一个高度格式化的块来解释食物,包括根据"类型"变量输出类别.

Banana
此页面调用Template:Food带有一些变量的模板,包括type设置为"fruit".结果是当用户查看" Banana"页面时,他们会获得一个格式良好的页面,其中包含有关水果的一些基本信息.此外,如果用户访问该Category:Fruit页面,他们将看到列出的香蕉页面.

Banana Nut Bread Recipe
这是问题页面.在这个食谱页面上,作者希望转换成分的所有页面,以便每个成分都列在其格式良好的块中.但是,当他Banana使用时转换页面时{{:Banana}},Fruit类别会与其一起被转换,现在Banana Nut Bread Recipe页面被列为Fruit属于错误的类别.

wiki mediawiki

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

MySQL归档存储引擎的优缺点?

对于我正在开发的网站,我将把用户活动信息(如Facebook)和HTTP请求存储到MySQL数据库中.

我打算使用InnoDB作为存储引擎,但是,我简要介绍了存档存储引擎,这听起来像是只有插入或选择且从未更新或删除的信息的前进方式.

在我继续之前,我想知道任何利弊,以帮助我决定是否使用它.

mysql archive storage-engines

17
推荐指数
1
解决办法
5689
查看次数